gpt4 book ai didi

JAXB jar 文件与 java 1.6.0 不兼容?

转载 作者:行者123 更新时间:2023-12-01 11:57:55 28 4
gpt4 key购买 nike

我是 JAXB 的新手,我想将 XML/对象编码和取消编码为对象/XML。

我已经从(值(value) 22.69 MB)Sun 的网站下载了 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;

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

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

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)

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

Exception in thread "main" java.lang.NoSuchMethodError: java.lang.Class.getSimpl eName()Ljava/lang/String;   

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

当我运行 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)

最佳答案

jaxb 库包含在 java 1.6 中。如果您也添加 jar,您将遇到各种疯狂的类加载器错误。

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

编辑

xjc 应该捆绑在 JDK 中,在您的帖子中,您使用的是 jabx 独立包中的 xjc。转到安装 java 1.6 的文件夹,检查那里是否有 xjc.exe 或 xjc.bat,然后从该文件夹运行它。就像上面提到的罗伯特一样,确保您使用的是 Java 1.6

关于JAXB jar 文件与 java 1.6.0 不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5051055/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com