NIr*_*odi 6 java openjdk java-platform-module-system java-9
我试图使用jdk-9在代码下运行,但在使用命令编译时遇到问题
命令
javac -d mods .\module-info.java com\nirav\modi\Test.java
Run Code Online (Sandbox Code Playgroud)
错误
.\module-info.java:1: error: class, interface, or enum expected
module module1 { }
^
1 error
Run Code Online (Sandbox Code Playgroud)
module-info.java
module module1 {
}
Run Code Online (Sandbox Code Playgroud)
Test.java
package com.nirav.modi;
class Test {
public static void main(String args[]){
System.out.println("Hello Modular...");
}
}
Run Code Online (Sandbox Code Playgroud)
包结构如下
module1\module-info.java
module1\com\nirav\modi\Test.java
Run Code Online (Sandbox Code Playgroud)
JDK版本
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+153)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+153, mixed mode)
Run Code Online (Sandbox Code Playgroud)
看起来你正在使用非 jigsaw jdk 版本进行编译...这是它们是jigsaw 的链接
使用该编译器,您可以在我的笔记本电脑上很好地编译这些相同的示例。
这是 jigsaw 项目的 java -version 的样子:
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)
Run Code Online (Sandbox Code Playgroud)
编辑 它适用于拼图和非拼图构建。我刚刚尝试过(版本 149)
编辑2所以我尝试过jdk-9 build 153,这就是我得到的:
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
Run Code Online (Sandbox Code Playgroud)
删除“1”并运行相同的命令编译正常,并且创建了 mods 目录,两个类文件都编译得很好。
| 归档时间: |
|
| 查看次数: |
2370 次 |
| 最近记录: |