我正在尝试使用 Java 9 编译我的 java 项目。我正在使用 java.xml.bind 包,所以我需要使用 -addmods 选项进行编译。Ant 1.9.7 似乎不支持这个新特性。ant 是否支持 Java 9 编译器的 -addmods 选项?
问问题
2153 次
2 回答
5
目前任何已发布的 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
,只有在 Ant 1.9.7 中添加了modulepath
和。upgrademodulepath
恕我直言 - 虽然会是一个很好的增强请求。
于 2016-09-03T11:12:25.300 回答
-1
至少使用 Ant 1.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>
于 2017-10-23T12:44:14.347 回答