在模块源路径中找不到模块moduleA,试图进行编译

时间:2019-06-04 08:50:42

标签: java java-11 modularity

回答了这个问题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我正在运行:

编译

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

运行

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

enter image description here

从IntelliJ来看,它就像魅力一样工作,我不知道它背后的魔力是什么。

我在做什么错

3 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:2)

我面临的确切错误..(我正在遵循相同的示例) 只要确保windows中针对“module-info”的文件类型是“JAVA文件”

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

如果 javac 找不到 module-info.java 就会出现这个错误,所以那个文件应该有问题(在我的例子中是文件类型)

PS:请提供学分/作者信息(Durgasoft),因为您已经从那里复制了注释信息(在 git hub 中)。

答案 2 :(得分:1)

好像您正在尝试从桌面运行它,并且该文件不在桌面文件夹中。

请参考以下链接,并使用相对路径执行

ArchitecturesInstallIn64BitMode

相关问题