Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Java与模块一起使用_Java_Eclipse_Module - Fatal编程技术网

将Java与模块一起使用

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

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

在一个类似的问题上,主要答案是清理项目或重新安装Eclipse。他们都没有为我解决这个问题


我还尝试添加
包默认值到源文件的顶部,但这并没有解决问题。

使用Java平台模块系统(JPMS)禁止在默认包中包含
.Java
文件。但是您不必使用JPMS。如果您不想使用JPMS并且想将
.java
文件放入默认包,只需删除
模块info.java
文件即可

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


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

创建module-info.java是可选的-新建java项目向导的第二页上有一个复选框用于创建它