JDK编译器因"打开"而失败模

时间:2016-11-08 10:33:21

标签: java java-9 jigsaw

使用当前的JDK build 9-ea+143' javax.tools.JavaCompiler工具,我可以编译简单(空)示例模块而不会出错:

module com.foo.bar { }

如果我添加open,请执行以下操作:

open module com.foo.bar { }

...编译器错误读取:

/module-info.java:1: error: class, interface, or enum expected
open module com.foo.bar {
^

基于http://cr.openjdk.java.net/~mr/jigsaw/spec/lang-vm.html

的语法

当前的JDK 9版本是否与此规范不兼容,或者我错过了传递给JavaCompiler的选项?

1 个答案:

答案 0 :(得分:1)

要获得最新的Jigsaw功能,您需要使用the Jigsaw EA build(而不是the regular EA builds)。我创建了一个GitHub repo探索开放包和模块(以使反射工作)以及wrote about it - 它肯定适用于b146。