我在一个项目上使用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包含在类路径中。

10-07 20:02