Eclipse运行facts项目报错:声明的包“facts”与预期包不匹配如何解决
问题根因
该报错本质是Java类声明的包名与Eclipse识别的项目源码目录结构不匹配:你当前将声明了package facts;的类直接放在了项目的默认源码根目录下,Eclipse默认预期该目录下的类都属于无命名空包,因此和显式声明的facts包产生冲突。
修复步骤
- 第一步:先删除你错误添加的
import package facts;语句,Java不存在import package的语法规则,包声明必须以package facts;的格式写在类代码的第一行 - 第二步:在你的项目Java源码根目录(通常为src、src/main/java目录,依项目结构而定)下新建名为
facts的文件夹 - 第三步:将所有顶部声明了
package facts;的Java类,全部移动到刚才新建的facts文件夹中 - 第四步:右键项目点击「刷新」,再点击顶部菜单栏「项目」→「清理」,选中facts项目执行缓存清理;如果是Maven项目,额外执行右键项目→「Maven」→「更新项目」操作
- 第五步:重新将项目部署到服务器启动即可
额外排查点
如果执行上述操作后仍然报错,请检查以下配置:
- 右键项目→「属性」→「Java 构建路径」→切换到「源」标签页,确认你的源码根目录已被正确标记为源文件夹,没有配置错误的包含/排除规则
- 检查所有facts包下的类,确认
package facts;是类文件第一行有效代码,前面没有注释以外的其他代码 - 确认项目编译版本与JDK版本匹配:右键项目→「属性」→「Java编译器」,将编译版本调整为16,和你本地安装的JDK 16.0.2版本保持一致
内容的提问来源于stack exchange,提问作者Wakil Muzeyen
相关产品推荐
相关产品推荐

