IntelliJ配置Java 9多模块项目报错及依赖问题求助
Java 9多模块项目IntelliJ适配问题解决
问题原因
IntelliJ的默认模块识别逻辑与OpenJDK官方推荐的--module-source-path目录结构不兼容:
- IntelliJ会错误地将
src下的所有子目录归为同一个项目模块,导致多个module-info.java被识别为同一模块下的重复文件,触发'module-info.java' already exists in the module错误。 - 模块依赖解析需要IDE正确将每个子目录标记为独立模块,否则即使
requires和exports声明符合规范,IntelliJ也无法识别模块间的依赖关系,导致代码无法跨模块访问。
解决步骤
1. 重新创建并配置独立模块
- 打开
File > Project Structure(快捷键Ctrl+Alt+Shift+S),进入Modules标签页。 - 删除当前自动生成的项目模块(如果存在)。
- 点击
+ > New Module,选择Java类型,分别为easytext.analysis和easytext.cli创建独立模块。 - 对每个模块,设置Source目录为对应的
src/easytext.analysis和src/easytext.cli(不要选择根目录src)。 - 右键每个模块下的
module-info.java,选择Mark as > Module Info File,确保IDE将其识别为模块描述文件。
2. 配置模块间依赖
- 在
Project Structure > Modules中选中easytext.cli模块,切换到Dependencies标签页。 - 点击
+ > Module Dependency,选择easytext.analysis模块并确认添加。
3. 验证编译配置
- 进入
File > Settings > Build, Execution, Deployment > Compiler > Java Compiler,将项目语言级别设置为9或更高。 - 重新执行
Build > Rebuild Project,确认错误提示消失,跨模块代码可正常访问。
内容的提问来源于stack exchange,提问作者mpssantos
相关产品推荐
相关产品推荐

