java - 将 Java 与模块一起使用

标签 java eclipse module

我刚刚升级到 Java 11,发现当我在 Eclipse 中启动新项目时,它会自动包含一个模块和 module-info.java 文件。我简单地查了一下,似乎我可以忽略它,但是当我导入源文件时,这些文件会自动添加到我没有创建的某个包中。我将包重命名为 default 因为这只是一个小玩具项目,并尝试从所有文件中删除所有包声明。但是,我现在在每个文件的开头收到错误消息“必须声明一个命名包,因为此编译单元与命名模块“exampleMod”相关联”,并且在模块文件上,“类型 java.lang.Object 不能是已解决。它是从所需的 .class 文件间接引用的”。

在类似的问题上,主要答案说清理项目或重新安装Eclipse。都没有解决我的问题。

我还尝试将 package default; 添加到源文件的顶部,但这并没有解决问题。

最佳答案

使用 Java 平台模块系统 (JPMS) 禁止在默认包中包含 .java 文件。但您不必使用 JPMS。如果您不想使用 JPMS 并且要将 .java 文件放入默认包。

当您创建新的 Java 项目时,系统会询问您是否需要文件 module-info.java:

enter image description here

如果您不想使用 JPMS,请单击“不创建”。可以通过添加 module-info.java 文件将非 JPMS 项目转换为 JPMS 项目:右键单击项目文件夹并选择配置 > 创建 module-info.java.

关于java - 将 Java 与模块一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54838742/

相关文章:

java - Android:触觉反馈:onClick() 事件与 View 中的 hapticFeedbackEnabled

java - 如何排除 TreeSet.contains 上的某些字段但对所有字段进行排序

java - 延迟 ActionListener 中的操作?

C++,错误 : '__locale_t' has not been declared

eclipse - 如何在 Spring Web 应用程序中添加 OpenCV 库

testing - 在文档测试中使用本地模块时出错

joomla - 在前端显示文章 ID + 页面 itemid Joomla 2.5 :

java - 尝试在 ListView 中更新从 SQLite 检索到的值时应用程序崩溃

java - 导出 jar 时将 Javadoc 添加到 Eclipse 项目

python - 如何列出 Python 模块中的所有函数?