我在一个项目上使用JAXB。 JAXB的吸引力在于它与JDK bundle 在一起,我一直在命令行上使用xjc.exe从架构中生成.java文件。我似乎找不到JAXB ant任务,请确保在http://jaxb.java.net上有一个下载,但是我想使用 bundle 到JDK中的JAXB,是否有某种方法可以从ant调用JAXB,xjc.exe调用什么类? ?
最佳答案
<target name="generate-jaxb-code">
<java classname="com.sun.tools.internal.xjc.XJCFacade">
<arg value="-p" />
<arg value="com.example"/>
<arg value="xsd/sample.xsd" />
</java>
</target>
刚刚在tools.jar中进行了狩猎,并在com.sun.tools.internal中找到了XJCFacade.class,对上面的代码进行了测试,它可以正常工作,并产生xjc.exe的输出。似乎XJC.exe将此代码称为com.sun.tools .internal.xjc.XJCFacade
我的主要要求之一是ant文件可以在eclipse内运行,而不必包含JDK的路径名,那样文件可以在操作系统之间移植。我假设通过已安装的JRE首选项选项将tools.jar包含在类路径中。