How to resolve module-info.java compile error in Jdk9/java-9

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-01 05:44:50

Per the Jigsaw Issues List, a module name cannot end with a number. The purpose is to discourage authors from encoding version numbers in module names.

JSR 376 is not final yet and there are several topics still under discussion. The latest proposal on the #VersionsInModuleNames topic is here:

http://mail.openjdk.java.net/pipermail/jpms-spec-experts/2017-March/000659.html

Seems like you are compiling with non-jigsaw jdk build here... here is the link were they are jigsaw

With that compiler these same samples that you have compile just fine on my laptop.

This is how java -version looks like for project jigsaw:

java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+153-jigsaw-nightly-h6003-20170124)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+153-jigsaw-nightly-h6003-20170124, mixed mode)

EDIT It works with both jigsaw and non-jigsaw build. I have just tried it (build 149)

EDIT2 So i've tried with jdk-9 build 153 and here is what I got:

javac -d mods module-info.java Modules.java
module-info.java:1: warning: [module] module name module1 should avoid terminal digits
module module1 {
      ^
1 warning

removing the "1" and running the same command compiled OK and mods directory was created with both class files compiled just fine.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!