我怀疑由于JDK版本的变化,会有一个支持lib jar的版本变得不兼容。最糟糕的可能是它可能是本机 lib jar。
我没有提供当前问题的解决方案。但提供另一种方法。如果您不能使用这种方法更改代码,请告诉我;我们将尝试找出现有 java 升级的问题。
在 Java 1.6 中,不再需要 JWSDP 包。Java 1.6 版本带有内置的 JAXB 版本,因此可以直接使用它。
Java 1.6 版本带有“xjc”编译器,可以从 xml 生成 java 对象。
Usage: xjc [-options ...]
下面的代码片段显示了如何在 ant 脚本中使用 1.6 的 xjc 编译器从 XML 文件生成 java 对象。
下面的 ant 目标将编译 xsd 文件 test1.xsd 和 test2.xsd 并将从 xsd 创建 java 对象到文件夹 output/java
<target name=”xsd2java” description=”Generate java model from XSD xml schema using XJC compiler.”>
<echo message=”Generating java files from XSD using XJC compiler…” />
<mkdir dir=”output/java”/>
<exec executable=”xjc”>
<arg value=”-d”/>
<arg value=”output/java”/>
<arg value=”test1.xsd”/>
<arg value=”test2.xsd”/>
</exec>
</target>
下面的代码片段显示了如何从 dtd 文件编译 Java 对象。
<div><macrodef name=”dtd2java”>
<attribute name=”dtdDir”/>
<attribute name=”dtdFile”/>
<attribute name=”javaPackage”/>
<attribute name=”javaDir”/>
<sequential>
<mkdir dir=”output/java/@{javaDir}”/>
<exec executable=”xjc”>
<arg value=”-d”/>
<arg value=”${output.dir}/java”/>
<arg value=”-p”/>
<arg value=”@{javaPackage}”/>
<arg value=”${output.dir}/java/@{javaDir}”/>
<arg value=”-extension”/><arg value=”-dtd”/>
<arg value=”@{dtdDir}/@{dtdFile}”/>
</exec>
</sequential>
</macrodef>
<target name=”dtd2java” description=”Generate java model from DTD using XJC2 compiler.” >
<echo message=”Generating java files from DTD using XJC2 compiler…”/>
<dtd2java dtdDir=”test/dtd” dtdFile=”test1.dtd” javaPackage=”com.test1.dtd” javaDir=”com/test1/dtd”/>
<dtd2java dtdDir=”test/dtd” dtdFile=”test2.dtd” javaPackage=”com.test2.dtd” javaDir=”com/test2/dtd”/>
</target>
</div>