我正在尝试用Java9编译我的java项目,我使用的是java.xml.bind包,所以我需要使用-addmods选项进行编译。Ant 1.9.7似乎不支持这个新特性。ant是否支持Java9编译器的-addmods选项?
发布于 2016-09-03 19:12:25
目前,Ant的任何发布版本都没有明确的支持。但是您应该能够使用<jvmarg>来实现这一点
<java ....>
<jvmarg value="--add-modules"/>
<jvmarg value="module.name.to.add"/>
<jvmarg ..../>
</java>如果您询问的是<javac>而不是<java>,则可以使用<compilerarg>。
Java 9设法破坏Ant的方法有很多- 1.9.8和1.10.x将包含对它的许多修复(一旦最后已知的问题得到解决,很快就会有新的版本)。不过,目前还没有对--add-modules的明确支持,只支持Ant1.9.7中添加的modulepath和upgrademodulepath。
不过,IMHO --这是一个很好的增强请求。
发布于 2017-10-23 20:44:14
至少使用Ant1.10.1,并在build.xml中执行以下操作:
<condition property="java9">
<equals arg1="${ant.java.version}" arg2="9"/>
</condition>
<java classname="....." fork="true">
<classpath>
<pathelement location="...."/>
</classpath>
<jvmarg value="--add-modules" if:set="java9" />
<jvmarg value="java.xml.bind" if:set="java9" />
...
</java>https://stackoverflow.com/questions/39275646
复制相似问题