为什么我在 javac 模块编译过程中出现错误?

问题描述 投票:0回答:3

尝试使用以下命令编译我的模块时

moduleA

javac --模块源路径 src -d out -m moduleA

我收到以下错误

错误:在模块源路径中找不到模块 moduleA

结构:

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

module-info
.java :

module moduleA {
}
java java-11 modularity java-module
3个回答
4
投票

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

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

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

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

2
投票

我遇到的确切错误..(我遵循相同的示例) 只需确保 Windows 中针对“模块信息”的文件类型是 “JAVA 文件”

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

如果 javac 无法找到 module-info.java,就会出现此错误,因此该文件应该有问题(在我的例子中是文件类型)

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


1
投票

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

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

无法使用--module-source-path解析模块

© www.soinside.com 2019 - 2024. All rights reserved.