use*_*311 5 java java-9 java-module
我试图从模块类调用非模块类。我创建了一个文件夹结构
moduledemo > allclasses > moduleC > packageC > MyMethods.class
Run Code Online (Sandbox Code Playgroud)
是我的模块类文件的路径
moduledemo > moduleC > packageC > MyMethods.java
Run Code Online (Sandbox Code Playgroud)
和
moduledemo > nomodule > packageD > DemoNoModule.class
Run Code Online (Sandbox Code Playgroud)
是我调用的无模块类MyMethods.java
我能够编译 DemoNoModule 文件。我能够将 MyMethods.java 编译到 allclasses 文件夹中moduleC
。
当我运行 MyMethods 时,出现错误moduleC not found。有人可以更新吗?我正在使用以下命令来运行
java --module-path allclasses -m moduleC/packageC.MyMethods
Run Code Online (Sandbox Code Playgroud)
两个文件代码 -> 非模块类
package packageD;
public class DemoNoModule {
public void showD() {
System.out.println("this is show of D in No Module");
}
}
Run Code Online (Sandbox Code Playgroud)
模块类调用类
package packageC;
import packageD.*;
public class MyMethods {
public static void main(String s[]) {
DemoNoModule d=new DemoNoModule();
d.showD();
}
}
Run Code Online (Sandbox Code Playgroud)
模块C中的模块信息
module moduleC {
exports packageC;
}
Run Code Online (Sandbox Code Playgroud)
Java 9 程序应该是模块化的。这就是我对 JDK-9 中 jigsaw 的理解。因此,恕我直言,您必须将 packageD '包装' 到另一个模块中以及 moduleC write 的 module-info 中requires moduleD
。还moduleD
应该导出packageD。
ALL-UNNAMED
添加是为了向后兼容,我想它会在 Java 发展的某个时刻被删除。
归档时间: |
|
查看次数: |
2632 次 |
最近记录: |