无法在 Windows 7 上使用 JDK 9 运行 Ant 命令

Cannot run Ant command with JDK 9 on Windows 7

  1. Cooja是嵌入式操作系统--Contiki的一个工具。
  2. Cooja 使用Ant 命令运行(在Cooja 的目录下,有一个build.xml 文件)。
    • 我正在使用 1.10.1 版本的 Ant。
  3. Ant 是一个基于 java 的工具,它需要在系统中安装 JDK。
    • 我正在使用 JDK-9 到 运行 和 Ant。
  4. 当我在 Cooja 的目录中使用 'ant run' 命令时,问题来了,我使用 'ant run' 命令到 运行 Cooja 的 cmd.exe 说

'java.xml.bind is not visible' and 'package javax.xml.bind is declared in module java.xml.bind, which is not in the module graph'.

  1. 然后我用google搜索答案,我了解到这个问题是由JDK-9的新模块系统引起的。
    • 这里是介绍模块系统的link of the document,出现了和我一样的问题,说说为什么会出现。
    • 但文档通过选项“--add-modules”使用 javac 命令修复了问题,我不知道如何在使用 Ant 命令时修复我的问题,那里没有这样的选项.
  2. 如果我在 Ant 中使用 JDK-8 到 运行,问题可以解决,因为 JDK 的版本没有模块系统。

Ant 构建文件应该使用 javac 任务调用 Java 编译器。为了使用 --add-modules 选项更新它,搜索适当的 javac 调用并将选项嵌入为嵌套的 compilerarg,例如:

<javac srcdir="src" destdir="classes">
    <compilerarg arg="--add-modules java.xml.bind"/>
</javac>