在模块源路径中找不到模块 moduleA,正在尝试编译

Module moduleA not found in module source path , trying to compile

在回答了这个问题后i published java 9 modules tutorials + examples on Github以及如何运行 为未来的用户:

我有以下非常简单的结构:

src 
│   module-info.java
│ 
└───moduleA
    └───pack1
            Main.java

module-info.java :

module moduleA {

}

Main.java:

package moduleA.pack1;
public class Main{

 public static void main(String[] args){
   System.out.println("Hello Java 11");
 }
}

我正在尝试编译 运行 这个非常简单的模块化 java 应用程序。

所以从 cmd 我是 运行ning :

编译

javac --module-source-path src -d out -m moduleA

运行

java  --module-path out -m moduleA/pack1.Main

来自 IntelliJ,它就像魅力一样,我不知道它背后有什么魔力 运行。

我做错了什么

看起来您正在尝试从桌面 运行 它,但该文件不在桌面文件夹中。

请参考下面link并使用相对路径执行

Unable to resolve module using --module-source-path

--module-source-path 通常用于一次编译多个模块。但是,当然,如果需要,您可以用它编译单个模块。但是,您必须将源文件移动到具有模块名称的目录:

src
└───moduleA
    │───module-info.java
    └───moduleA
        └───pack1
            └───Main.java

此外,您应该修复运行模块的命令行:

java --module-path out -m moduleA/moduleA.pack1.Main

我遇到的确切错误..(我遵循相同的示例) 只需确保 windows 中针对“module-info”的文件类型是 "JAVA File"

我确实通过记事本++进行了编辑并选择了 java lang ,将类型明确更改为 java.it 对我有用,我没有像一些评论中提到的那样做任何额外的事情。 我很确定你也一定是这种情况。

如果 javac 无法找到模块-info.java,则会出现此错误,因此该文件应该有问题(在我的情况下是文件类型)

PS:请提供 credits/author 信息 (Durgasoft),因为您已经从那里复制了注释信息(在 git 中心)。