module-info.java导出模块报错Package is empty: projects问题咨询
错误根本原因
你遇到的报错是Java 9+模块系统的强制限制:不允许导出没有任何Java源文件的空包,报错提示已经明确说明你要导出的projects包为空。
常见触发场景
- 包路径不匹配:你声明导出的包名是
projects,但实际Java文件没有放在源码根目录(比如src/main/java)下的projects文件夹内,或是多嵌套了层级导致实际包名和导出的包名不一致,模块系统识别不到projects包下存在Java类。 - 包下仅存在非Java资源:如果
projects目录下只有配置文件、静态资源等非.java后缀的文件,模块系统会判定该包为空,不允许导出。 - 构建工具配置异常:如果你使用Maven、Gradle等构建工具,检查源码目录配置是否将
projects包排除在了编译范围之外,导致编译阶段无法识别到该包下的Java文件。
解决方法
- 确认
projects包下至少存在一个有效的Java源文件 - 核对包的物理路径层级,和你在
exports语句中声明的包名完全一致 - 检查构建工具的源码过滤规则,确认没有排除
projects包的编译
内容的提问来源于stack exchange,提问作者FARS
相关产品推荐
相关产品推荐

