我在一个项目中使用 JAXB。JAXB 的吸引力在于它与 JDK 捆绑在一起,我一直在命令行上使用 xjc.exe 从模式生成 .java 文件。我似乎找不到 JAXB ant 任务,确定在http://jaxb.java.net有下载但是我想使用捆绑到 JDK 中的 JAXB 有什么方法可以从 ant 调用 JAXB 吗xjc.exe 调用的类?
问问题
29344 次
3 回答
20
<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 的路径名,这样文件就可以跨操作系统移植。我假设 tools.jar 通过安装的 JRE 首选项选项包含在类路径中。
于 2010-09-02T21:10:19.333 回答
14
这是一个有用的链接:
Java SE 6 不提供 Ant 任务(参见 7.1.3):
本质上,他们执行以下操作:
<target name="xjc" description="....">
<exec executable="${jdk.dir}/bin/xjc.exe">
<arg value="-d"/>
<arg value="${src.dir}"/>
<arg value="-p"/>
<arg value="com.mydomain.jaxb"/>
<arg value="${etc.dir}/myschema.xsd"/>
</exec>
</target>
于 2010-09-02T19:38:52.687 回答
1
您无法在 JAXB2 Basics 中找到几个示例 Ant/JAXB 项目:
于 2010-09-07T15:18:59.227 回答