模棱两可的模块调用

AKJ*_*AKJ 5 java java-platform-module-system java-8 java-module java-11

我正在尝试在 JAVA11 中重新编译 JAVA8 代码。获得以下编译错误。

错误:对模块的引用不明确 private Module module; ,com.module 中的接口 com.module.Module 和 java.lang 中的类 java.lang.Module 匹配

刚接触 Java 无法完全理解根本原因。任何信息都会有很大帮助。

Nam*_*man 9

这两个接口com.module.Modulecom.module和类 java.lang.Modulejava.lang比赛

错误主要是因为java.lang.ModuleJava-9 中引入的新类。

在引用您定义为的接口/类时只需使用完全限定名称:

private com.module.Module module;
Run Code Online (Sandbox Code Playgroud)

或者,正如 Alan 和 Holger 在评论和Java-9发行说明中指出的那样,您可以importModule类明确指定为:

import com.module.Module;
Run Code Online (Sandbox Code Playgroud)

  • 或者只是使用显式的 `import com.module.Module;` 而不是 `import com.module.*;`... (2认同)