当前位置: 首页 > 面试题库 >

如何从ANT执行JAXB编译器

仇睿
2023-03-14
问题内容

我在一个项目上使用JAXB。JAXB的吸引力在于它与JDK捆绑在一起,我一直在命令行上使用xjc.exe从架构生成.java文件。我似乎找不到JAXB
ant任务,请确保在http://jaxb.java.net上有下载,但是我想使用捆绑到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包含在类路径中。



 类似资料:
  • null 代码(步骤1和2): 实际上,第一个任务执行良好,并为注释处理器实现编译.class文件。它在第二个任务停止。 Ant说: Java 1.6 Ant 1.8.2

  • 如果你不知道怎么从 github 上下载 Nutz 的源代码,请看 从 Git 编译 一节 编译通常是个麻烦的问题,依赖关系啊,环境变量啊,等等,全是些没有技术含量的东 东,但是却能搞的你非常头疼。虽然编译 Nutz 是一个相对简单的工作 -- 它编译 的时候不需要依赖第三方 jar 包,但是还是有一些工作要做的。 从我个人的情况来看,我经常在如下三个环境下进行 Nutz 的开发: 公司 - Vi

  • 问题内容: 有没有办法查看在* nix中使用了哪些编译器和标志来创建可执行文件?我已经编译了一个旧版本的代码,我想看看它是经过优化还是未经优化而编译的。Google并没有太大的帮助,但是我不确定我使用的关键字是否正确。 问题答案: gcc 为此提供了一个选项: 之后,ELF可执行文件将包含带有该信息的部分。 当然,如果没有该选项编译的可执行文件将无法使用。 对于简单的优化情况,如果文件是使用调试信

  • 问题内容: 我需要编译我的源代码以与jre 1.6兼容。但是,当我尝试将javac任务的编译器属性设置为javac1.6时,ant仍将使用javac1.7编译我的代码。我也尝试将编译器版本设置为“现代”,但没有帮助。 我的JAVA_HOME设置为JDK 1.6: 我的ant版本是:Apache Ant(TM)版本1.8.2 根据这篇文章,ant使用自己的编译器。如何覆盖ant默认值?另外,根据本文

  • 问题内容: 通过Ant任务运行时,是否有任何清楚说明和简单的方法来查看编译器输出? 这是我的Ant标签: 这是我收到的唯一错误消息: 问题是我不知道如何 查看编译器错误输出以了解详细信息 … 很少有配置元素可以帮助您: 蚂蚁1.6.5 Windows 7 x64 Java 1.6.0_20 x32 通过Eclipse启动目标 问题答案: 我认为您正在寻找属性。 要求编译器提供详细输出;默认为否。