java - 如何解决Jdk9/java-9中module-info.java编译错误

标签 java java-9 java-platform-module-system

我尝试使用 jdk-9 运行下面的代码,但在使用命令编译时遇到问题

命令

 javac -d mods .\module-info.java com\nirav\modi\Test.java

错误

.\module-info.java:1: error: class, interface, or enum expected
module module1 { }
^
1 error

模块信息.java

module module1 { 

}

测试.java

package com.nirav.modi;

class Test {

    public static void main(String args[]){

        System.out.println("Hello Modular...");

    }

}

封装结构如下所示

module1\module-info.java
module1\com\nirav\modi\Test.java

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)

最佳答案

根据 Jigsaw Issues List ,模块名称不能以数字结尾。目的是阻止作者在模块名称中编码版本号。

关于java - 如何解决Jdk9/java-9中module-info.java编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43024267/

相关文章:

java - Java 堆空间用完- 15 谜题

java - Android:如何将按钮文本中的数字转换为整数?

java - Java 9 中不明确的内在行为

maven - Maven 如何与 Java 9 模块一起工作?

java - JIMAGE 文件的 JAR 文件 META-INF/MANIFEST.MF 的等价物是什么?

java - JPMS/Jigsaw Java 11 Maven 应用程序中的 Keycloak-Admin-Client - 依赖问题

java - 无法从 '9.0.1' 确定 java 版本

java - Dialogflow v2 Java 客户端库在 Eclipse 上使用 Spring Boot 检测 Intent

java - jshell - 无法找到 printf

java 9 未命名模块在调试时从两者读取包 [X](使用 IntelliJ)