2

我正在使用带有MOXy实现的JAXB 2.1.2 。为了构建我的 Web 应用程序,我使用Ant 1.7.1,并且我也在使用

package-info.java 

类来指定命名空间的东西。

一切运行良好,除了 package-info.java 没有被编译。在构建目录中,专用目录(包含我的域类)中没有预期的 package-info.class。

如何强制 Ant 也编译 package-info.java 类?

我在这里读到了 Ant 的限制,但我不敢相信这还没有解决? http://ant.apache.org/manual/Tasks/javac.html

谢谢

4

1 回答 1

2

与此同时,我自己找到了一个解决方法,所以这工作正常,但前提是你编译两次(不知何故,类文件存储到的目标文件夹必须早于 package-info.java 文件):而不是这些 ant 命令我的 build.xml:

<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"
/>

如果您有更好的解决方案,请告诉我!

于 2011-02-02T18:00:15.607 回答