ant支持java 9 addmods选项

时间:2016-09-01 15:32:11

标签: java ant java-9

我正在尝试使用Java 9编译我的java项目。 我正在使用java.xml.bind包,所以我需要使用-addmods选项 用于编译。 Ant 1.9.7似乎不支持这个新功能。 ant支持Java 9编译器的-addmods选项吗?

2 个答案:

答案 0 :(得分: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中添加的modulepathupgrademodulepath

恕我直言 - 虽然是一个很好的增强请求。

答案 1 :(得分:-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>