我有生成java对象的xsd文件列表,但我尝试使用maven构建工具它工作正常。我在pom.xml中使用了插件。我尝试使用ANT构建工具它无法正常工作。我尝试使用谷歌的以下链接,但它无法正常工作。https://jaxb.java.net/jaxb20-ea/docs/xjcTask.html。 在我的项目中,我们使用的是ANT工具。所以请任何人帮我解决这个问题。
答案 0 :(得分:0)
要编译xsd文件,必须先创建模式(.java文件)。为此,您需要添加taskdef,它包含在您提供的链接中。然后你必须使用ant xjc任务。这是一个例子:
<xjc schema="your.xsd.file" target="place.to.put.java.file" package="package.for.the.file.eg.com.soft.anonymous"/>
现在你有了从xsd架构创建的.java文件,bgm.ser和jaxb.properties,放在目标目录中。要编译它们,只需使用ant javac task。 我希望这对你有所帮助。如果没有,请在您尝试编译时指定问题究竟是什么。
您可以在许多地方放置taskdef,但最好的地方就在xjc任务之前。因此,例如,您有一个名为xjc.target的目标。在这个目标中你放了taskdef,然后把xjc任务放到javac。
让我解释一下:
请逐步尝试,如果您遇到问题,请为我复制粘贴控制台输出。这会帮助我更好地理解你的问题。
<target name="xjc.target">
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
<classpath>
<fileset dir="path/to/jaxb/lib" includes="*.jar" />
</classpath>
</taskdef>
<xjc schema="your.xsd.file" target="${java.files.dir}" package="package.for.the.file.eg.com.soft.anonymous"/>
<javac src="${java.files.dir}" target="${classes}"/>
</target>