JAXB jar文件与java 1.6.0不兼容?

Kun*_*nal 3 jaxb

我是JAXB的新手,我想整理和解组XML/Objects to Objects/XML.

我从Sun的网站(价值22.69 MB)下载了JWSDP 2.0.

我已将环境变量设置为

JAVA_HOME :-   D:\Program Files\Java\jdk1.5.0  
JWSDP_HOME :-   D:\Sun\jwsdp-2.0  
JAXB_HOME :- D:\Sun\jwsdp-2.0\jaxb  
PATH :- D:\Program Files\Java\jdk1.5.0\bin;D:\Sun\jwsdp-2.0\jwsdp-shared\bin;  
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用XJC(存在于其中)编译一个简单的XSD文件(名为tp.xsd D:\Sun\jwsdp-2.0\jaxb\bin).

当我尝试编译它时,我得到以下输出:

D:\ Sun\jwsdp-2.0\jaxb\bin> xjc tp.xsd

parsing a schema...  
compiling a schema...  
generated\Bookdata.java  
Exception in thread "main" java.lang.NoSuchMethodError: java.lang.Class.getSimpl
eName()Ljava/lang/String;  
        at com.sun.codemodel.JCodeModel$JReferencedClass.name(JCodeModel.java:54
5)  
        at com.sun.codemodel.JFormatter.t(JFormatter.java:283)  
        at com.sun.codemodel.JClass.generate(JClass.java:358)  
        at com.sun.codemodel.JFormatter.g(JFormatter.java:346)  
        at com.sun.codemodel.JAnnotationUse.generate(JAnnotationUse.java:388)  
        at com.sun.codemodel.JFormatter.g(JFormatter.java:346)  
        at com.sun.codemodel.JDefinedClass.declare(JDefinedClass.java:767)  
        at com.sun.codemodel.JFormatter.d(JFormatter.java:372)   
        at com.sun.codemodel.JFormatter.write(JFormatter.java:402)  
        at com.sun.codemodel.JPackage.build(JPackage.java:434)  
        at com.sun.codemodel.JCodeModel.build(JCodeModel.java:297)  
        at com.sun.codemodel.JCodeModel.build(JCodeModel.java:287)  
        at com.sun.tools.xjc.Driver.run(Driver.java:378)  
        at com.sun.tools.xjc.Driver.run(Driver.java:196)  
        at com.sun.tools.xjc.Driver._main(Driver.java:121)  
        at com.sun.tools.xjc.Driver.access$000(Driver.java:79)  
        at com.sun.tools.xjc.Driver$1.run(Driver.java:101)  
Run Code Online (Sandbox Code Playgroud)

你能帮我找到解决方案吗?我知道错误

Exception in thread "main" java.lang.NoSuchMethodError: java.lang.Class.getSimpl eName()Ljava/lang/String;   
Run Code Online (Sandbox Code Playgroud)

由于编译器和类文件不兼容而发生,但我不知道该怎么办!

当我运行java -version命令时,它显示:

C:\Documents and Settings\welcome>java -version  
java version "1.6.0_23"  
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)  
Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)  
Run Code Online (Sandbox Code Playgroud)

Aug*_*sto 5

jaxb库包含在java 1.6中.如果添加jar,你会得到各种疯狂的类加载器错误.

在这种情况下,看起来xjc选择了错误的jar版本.

编辑

xjc应该捆绑在JDK中,在你的帖子中你使用的是jabx独立包中的xjc.转到安装java 1.6的文件夹,检查是否有xjc.exe或xjc.bat并从该文件夹运行它.和Robert上面提到的一样,请确保您使用的是Java 1.6