使用Eclipse IDE运行首个Java程序遇命名包声明错误求助
解决Eclipse中“必须声明命名包,因为此编译单元关联到命名模块”的问题
这个错误是因为你创建的是模块化Java项目(包含module-info.java文件),Java模块化规范要求所有类必须放在命名包中,不能使用默认包(也就是没有package声明的情况)。
给你两种可行的解决办法:
方法一:给类添加包声明
- 在
Main.java的第一行添加包声明,比如:
包名可以自定义,通常用逆域名格式(比如你的域名倒过来),或者简单的名称也可以。package com.myapp; - Eclipse会自动提示你创建对应的包结构文件夹,点击确认即可;如果没提示,手动在src目录下创建和包名对应的文件夹层级(比如
src/com/myapp/),然后把Main.java移进去。
方法二:将项目改为非模块化项目
- 右键项目
MyFirstProgram→ 选择「属性(Properties)」 - 在左侧菜单中选择「Java Build Path」,切换到「Libraries」标签页
- 找到「Modulepath」下的JRE条目,右键点击选择「Remove」
- 点击「Add Library」,重新添加JRE,这次选择将其添加到「Classpath」中
- 删除项目根目录下的
module-info.java文件 - 刷新项目后,就可以使用默认包的类运行程序了
内容的提问来源于stack exchange,提问作者Adolph Frederic
相关产品推荐
相关产品推荐

