在 Ant 中使用 Java 9 模块系统

Using Java 9 module system with Ant

我对 Ant 和 Java 9 模块系统都很陌生,所以请多多包涵。我正在努力将现有的 Ant 项目移植到使用 Java 9,随之而来的是模块的使用。

特别是,现在我有 2 个不同的模块,一个需要另一个,如下所示:

../project/foo/src/org/bar/foo/module-info.java
module org.bar.foo {
    ...
    exports org.bar.foo
}

../project/baz/src/org/bar/baz/module-info.java
module org.bar.baz {
    requires org.bar.foo
}

在构建 baz 期间,我收到一个错误:module not found: org.bar.foo

在查看 some examples 之后,我尝试通过 baz 的构建文件中的编译器参数设置 --module-path,但到目前为止我还没有成功。我不太确定 specific/general 我如何指定模块路径。

我发现了我的问题。

--module-path 标志应指向已编译(构建)的模块。对于 Ant,这是构建目录。

对于源文件(我最初的问题是想做什么),使用 --module-source-path

module system JEP 上提供了更多信息。