java - 在模块源路径中找不到模块 moduleA,正在尝试编译
问题描述
在回答了这个问题之后,我在 Github 上发布了 java 9 模块教程 + 示例以及如何为未来的用户运行:
我有以下非常简单的结构:
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
从 IntelliJ 开始,它就像魅力一样,我不知道它背后有什么魔力。
我在做什么错?
解决方案
--module-source-path
通常用于一次编译多个模块。但当然,如果你愿意,你可以用它编译一个模块。但是,您必须将源文件移动到具有模块名称的目录:
src
└───moduleA
│───module-info.java
└───moduleA
└───pack1
└───Main.java
此外,您应该修复运行模块的命令行:
java --module-path out -m moduleA/moduleA.pack1.Main
推荐阅读
- amazon-web-services - 使用带有 S3 触发器的 Lambda 函数无法写入 DynamoDB
- vb.net - 关于如何集成代码块的任何提示
- java - 什么是事务边界?
- flutter - Flutter 中的 OnStateChanged 方法
- angular - 在离子中掩盖字符串
- javascript - 如何在 google-protobufjs 中设置枚举值
- javascript - 使用 html2canvas.js 将大量数据下载为图像时出现“失败 - 网络错误”
- java - 如何收听将新文件添加到文件夹以显示在 JTable 中?
- ios - 如何知道女巫价值以显示 Apple 订阅的介绍价格或正常价格
- java - 通过两个属性查找重复的对象