2016-11-11 47 views
3

我对Ant和Java 9模块系统都很陌生,因此请耐心等待。我正在移植一个现有的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之后,我试图通过编译器arg在编译文件baz中设置--module-path,但是到目前为止我还没有运气。我不太确定我可以在指定模块路径时具体如何。

+3

“我不太确定我可以在指定模块路径方面具体/一般。” 〜>命名包含'org.foo.bar'模块的文件夹就足够了。 – Nicolai

+0

@NicolaiParlog在'baz'的构建文件中,我有'basedir =“。”'。我正确使用'--module-path $ {basedir} /../ foo'吗?我已经尝试从那里或向下到包文件夹,但我没有任何运气。 – MattDs17

+1

我对蚂蚁一无所知,所以我不能在这里真正帮助。 – Nicolai

回答

3

我发现我的问题。

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

对于源文件(我最初的问题试图做的),使用--module-source-path

更多信息请登录module system JEP