You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Eclipse中创建Java 9多模块项目遇阻求助

解决Eclipse Oxygen中Java 9 Jigsaw多模块项目的问题

我刚接触Java 9模块系统的时候也踩过一模一样的坑!Eclipse Oxygen对Jigsaw的支持逻辑是每个模块对应一个独立的项目,所以单个普通Java项目里确实不允许存在多个module-info.java文件。想要实现多模块结构,你可以按照以下两种方式来操作:

方案一:纯Eclipse原生多模块管理

  1. 打开Eclipse Oxygen,在你的工作空间中,依次创建多个Java Module Project(注意不是普通的Java Project):
    • 新建项目时选择「Java Module」类型,输入模块名称(比如com.example.moduleA、com.example.moduleB)
    • 每个模块项目会自动生成自己的module-info.java文件和源码目录
  2. 配置模块间的依赖:
    • 假设模块A需要依赖模块B,先在模块A的module-info.java中添加声明:requires com.example.moduleB;
    • 右键模块A → 「Build Path」→ 「Configure Build Path」→ 切换到「Module Path」标签页
    • 点击「Add Module」,选择模块B,确认后Eclipse会自动处理模块依赖关系

方案二:用Maven管理多模块(更推荐,适合复杂项目)

如果你的项目需要更规范的依赖管理,用Maven来构建多模块会更省心:

  1. 创建Maven父项目:
    • 新建Maven项目,选择「Create a simple project」,Packaging类型选择pom
    • 这个父项目不需要源码,只用来统一管理子模块的版本和依赖
  2. 在父项目下创建子模块:
    • 右键父项目 → 「New」→ 「Module」,选择Maven模块类型,依次创建每个子模块
    • 每个子模块的pom.xml中,Packaging类型保持jar,并确保父项目的坐标正确引用
    • 在每个子模块的源码目录下创建自己的module-info.java,编写模块声明
  3. 配置父项目的pom.xml:
    • 添加<modules>标签,列出所有子模块的名称,比如:
      <modules>
          <module>moduleA</module>
          <module>moduleB</module>
      </modules>
      
  4. 子模块间的依赖:
    • 在需要依赖其他模块的子模块pom.xml中,添加对应的<dependency>配置,Eclipse会自动同步到模块路径中

注意事项

  • 确保你的Eclipse Oxygen已经配置了Java 9及以上版本的JDK,并且每个模块项目的JRE系统库都指向正确的JDK
  • 不要尝试在单个普通Java项目中手动添加多个module-info.java,这不符合Eclipse的模块管理规范,会导致编译错误

内容的提问来源于stack exchange,提问作者Arceus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:02:46