Java jaxb2.x和Ant
我正在使用jaxb2.1.2和MOXy实现。 要构建我的web应用程序,我使用的是Ant 1.7.1,我还使用Java jaxb2.x和Ant,java,ant,jaxb,eclipselink,moxy,Java,Ant,Jaxb,Eclipselink,Moxy,我正在使用jaxb2.1.2和MOXy实现。 要构建我的web应用程序,我使用的是Ant 1.7.1,我还使用 package-info.java 类来指定命名空间内容 除了package-info.java没有被编译之外,所有的运行都正常。 在build目录中,专用目录(使用我的域类)中没有预期的package-info.class 如何强制Ant也编译package-info.java类 我在这里读到了Ant的局限性,但我不相信这还没有解决? 谢谢与此同时,我自己也找到了一个解决方法,
package-info.java
类来指定命名空间内容
除了package-info.java没有被编译之外,所有的运行都正常。
在build目录中,专用目录(使用我的域类)中没有预期的package-info.class
如何强制Ant也编译package-info.java类
我在这里读到了Ant的局限性,但我不相信这还没有解决?
谢谢与此同时,我自己也找到了一个解决方法,所以这很好,但前提是编译两次(不知何故,存储类文件的目标文件夹必须比package-info.java文件旧): 而不是my build.xml中的这些ant命令:
<mkdir dir="${realm.classes.dir}"/>
<javac srcdir="${realm.java.dir}" destdir="${realm.classes.dir}"
classpathref="classpath"
encoding="${javac.encoding}"
debug="true"
/>
我不得不使用附加命令:
<mkdir dir="${realm.classes.dir}"/>
<touch>
<fileset dir="${realm.java.dir}" includes="**/package-info.java"/>
</touch>
<javac srcdir="${realm.java.dir}" destdir="${realm.classes.dir}"
classpathref="classpath"
encoding="${javac.encoding}"
debug="true"
/>
如果您有更好的解决方案,请告诉我 我目前正在研究以下“技巧”:由于ant中的javac限制,只有当java文件比类文件复制到的目标目录更新时,它才会编译包信息。我现在试着在编译之前用ANT做一个测试,也许会有帮助。但是,我想知道当其他项目必须使用package-info.java(例如MOXy使用该文件声明名称空间前缀值)时,如何解决这个问题我通过Jenkins使用ANT 1.8.2,编译package-info.java,但不生成package-info.class文件。我也尝试了上面提到的解决方案,但是没有成功,任何提示都没有。你构建了两次吗?否则,该变通方法将不起作用。