温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

多模块依赖怎么配

发布时间:2026-07-25 00:43:49 来源:亿速云 阅读:101 作者:小樊 栏目:编程语言

“多模块依赖怎么配”这个问题在不同技术栈里差别很大,下面我按最常见的几种场景给你一个速查式答案。你可以直接跳到你用的那一块;如果还不确定,把你的具体技术栈(语言 / 构建工具 / 项目结构)发我,我可以给你精确到文件级别的配置。


一、Maven 多模块依赖(最常见)

1️⃣ 父模块 pom.xml

<groupId>com.example</groupId>
<artifactId>parent-project</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>

<modules>
    <module>common</module>
    <module>service</module>
    <module>web</module>
</modules>

2️⃣ 子模块依赖父模块

<parent>
    <groupId>com.example</groupId>
    <artifactId>parent-project</artifactId>
    <version>1.0.0</version>
</parent>

<artifactId>service</artifactId>

3️⃣ 子模块之间的依赖

例如 service 依赖 common

<dependencies>
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>common</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

✅ 推荐做法:

  • 公共依赖放 父 pom
  • 不要循环依赖
  • 使用 dependencyManagement 统一管理版本

二、Gradle 多模块依赖

1️⃣ settings.gradle

rootProject.name = 'parent-project'
include 'common', 'service', 'web'

2️⃣ 父模块 build.gradle

subprojects {
    apply plugin: 'java'
}

3️⃣ 子模块依赖

dependencies {
    implementation project(':common')
}

✅ 优点:比 Maven 更简洁,适合大型项目


三、Spring Boot 多模块(Maven)

典型结构:

parent
├── common
├── service
├── web(启动类放这里)

关键点

  • 启动类只在 web 模块
  • web → service → common
  • 父 pom 使用:
<packaging>pom</packaging>

web 模块依赖

<dependency>
    <groupId>com.example</groupId>
    <artifactId>service</artifactId>
</dependency>

四、前端(npm / monorepo)

1️⃣ npm workspaces

{
  "workspaces": ["packages/*"]
}

2️⃣ 模块依赖

{
  "name": "app",
  "dependencies": {
    "utils": "1.0.0"
  }
}

五、Python 多模块(包依赖)

1️⃣ 项目结构

project/
├── core/
├── api/
├── setup.py

2️⃣ 安装本地依赖

pip install -e ./core

六、常见坑(非常重要)

循环依赖

A → B → A

模块版本不一致

依赖放错模块

  • 启动相关 → web
  • 工具类 → common

父 pom 里直接写 dependencies ✅ 应该:

<dependencyManagement>

七、你可以直接这样问我(更快)

你可以直接发我:

  • ✅ 用的什么语言 / 框架
  • ✅ 构建工具(Maven / Gradle / npm / pip)
  • ✅ 项目结构截图或目录树
  • ✅ 报错信息(如果有)

我可以给你: ✅ 可直接复制的配置文件正确的模块拆分建议帮你排查循环依赖

你现在是 Java / Spring Boot / Maven 吗?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI