Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jaxb2.x和Ant_Java_Ant_Jaxb_Eclipselink_Moxy - Fatal编程技术网

Java jaxb2.x和Ant

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的局限性,但我不相信这还没有解决? 谢谢与此同时,我自己也找到了一个解决方法,

我正在使用jaxb2.1.2MOXy实现。 要构建我的web应用程序,我使用的是Ant 1.7.1,我还使用

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文件。我也尝试了上面提到的解决方案,但是没有成功,任何提示都没有。你构建了两次吗?否则,该变通方法将不起作用。