目录结构
. ├── out │ └── calc-module │ ├── com │ │ └── ngsharma │ │ └── ocp │ │ └── Calculator.class │ └── 模块信息类 └── src └──计算器 ├── com │ └── ngsharma │ └── ocp │ └── Calculator.java └── 模块信息.java
成功编译生成out/calc-module目录。
javac -d out/calc-module src/calculator/module-info.java src/calculator/com/ngsharma/ocp/Calculator.java
模块信息.java
模块计算{}
计算器.java
package com.ngsharma.ocp;
public class Calculator {
public static int add(int i1, int i2) { return i1 + i2; }
public static void main(String[] args) {
System.out.println(add(20,40));
}
}
当我在以下命令中编译此模块时。
1. java -p out --add-modules calc-module com.ngsharma.ocp.Calculator 当我使用这个命令时,它抛出异常FindException : Module calc-module not found。
根据1.模块内部名称和模块目录名称应该相同,其他抛出FindException。
2 java -p out --add-modules calc com.ngsharma.ocp.Calculator
但在这种情况下,我没有使用模块目录名,我只在文件名中使用了module-info.java,并成功运行。如何..?为什么..?
模块文件名和模块文件夹名称应该相同,否则无法编译和运行它是否正确。请任何人建议我并纠正我的错误。(模块中的新手)。