java - 对模块的模棱两可的调用

标签 java java-8 java-11 java-module java-platform-module-system

我正在尝试在 JAVA11 中重新编译 JAVA8 代码。
低于编译错误。

error: reference to Module is ambiguous private Module module; both interface com.module.Module in com.module and class java.lang.Module in java.lang match



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

最佳答案

both interface com.module.Module in com.module and class java.lang.Module in java.lang match



该错误主要是因为新类 java.lang.Module 在 Java-9 中引入。

只需在引用您定义为的接口(interface)/类时使用完全限定名称:
private com.module.Module module;

或者,正如 Alan 和 Holger 在评论和 release notes of Java-9 中指出的那样,您可以明确指定 import为您的Module类为:
import com.module.Module;

关于java - 对模块的模棱两可的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55833250/

相关文章:

Java 默认方法比相同的代码慢,但在抽象类中

java - 在 Java 11 中反序列化 XStream XML 时出错 - 无法通过 JDK 序列化创建 java.beans.PropertyChangeSupport : null

java - 瘦 Controller

java - Java中自注册对象的静态 block 无法执行

java - 带有 Spring 配置的 Apache CXF

java - 扫描线填充,区分交点和峰

Java 8 在对象的属性上流 nonNull

java - LocalDate.plus 错误答案

java - 错误 : Hash of java. xml (...) 与 java.base 中记录的预期哈希 (...) 不同

java - 从 Spring boot 2.0.5/java 8 迁移后,Spring boot 2.1/java 11 应用程序无法识别重音字符