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

Maven环境下如何让独立Java Module被多个Spring Boot项目共享

可行实现方案

不需要让JM1继承任意一个Spring Boot项目的父POM,即可实现跨项目共享,以下是两种落地性最高的方案:

方案一:将JM1打包为独立公共依赖安装到本地Maven仓库

无项目耦合,适合上线/正式打包场景,操作步骤如下:

  • 调整JM1的pom.xml配置:不需要绑定任何Spring Boot项目作为父项目,如果JM1需要用到Spring Boot相关依赖,用依赖导入的方式引入Spring Boot的依赖管理,避免继承父POM带来的绑定限制,配置示例:
<dependencyManagement>
    <dependencies>
        <!-- 导入Spring Boot依赖管理,和两个Spring Boot项目版本保持一致即可 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>替换为你使用的Spring Boot版本号</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  • 完成JM1的代码开发后,在JM1项目根目录执行mvn clean install,将JM1打包安装到本地Maven仓库
  • 分别在Proj-SB-1、Proj-SB-2的pom.xml中引入JM1的依赖,依赖坐标和JM1的pom中定义的groupId、artifactId、version完全一致即可
  • Eclipse侧刷新:两个Spring Boot项目右键执行Maven -> Update Project,即可识别到JM1的依赖,后续修改JM1后重新执行install即可同步更新到两个项目。

方案二:Eclipse工作区直接关联

适合开发阶段频繁修改JM1的场景,不需要每次修改后执行install操作:

  • 保持方案一中的JM1的pom.xml配置,不需要继承任何Spring Boot项目的父POM
  • 分别打开Proj-SB-1、Proj-SB-2的属性配置页:右键项目 -> Properties -> Java Build Path -> Projects
  • 点击Add按钮,选择工作区中的JM1项目,确认保存
  • 切换到Maven配置页,勾选Resolve dependencies from Workspace projects,保存后执行Maven更新项目即可
  • 该配置下JM1的代码修改会实时同步到两个Spring Boot项目,无需执行install操作。

注意事项:两个Spring Boot项目的Spring Boot版本尽量保持一致,避免JM1的依赖和项目依赖出现版本冲突;如果版本无法对齐,可在JM1的依赖声明中明确指定对应版本号规避冲突。

内容的提问来源于stack exchange,提问作者Prashant-M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:15:04