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

如何在Maven中单独导入库的指定子模块?

Maven多模块项目中单独导入子模块的实现方案

要实现服务端单独用OEADL-ANNOTATIONS、客户端用OEADL-SWING的需求,按以下步骤操作即可:

1. 确认多模块项目的POM配置正确

首先你的父模块pom.xml必须满足两个核心要求:

  • 打包类型设为pom:
    <packaging>pom</packaging>
    
  • 在<modules>标签里声明所有子模块:
    <modules>
      <module>OEADL-EXCEPTIONS</module>
      <module>OEADL-ANNOTATIONS</module>
      <module>OEADL-SWING</module>
    </modules>
    

每个子模块的pom.xml要指定父模块坐标,比如OEADL-ANNOTATIONS的pom:

<parent>
  <groupId>你的父模块groupId</groupId>
  <artifactId>父模块artifactId</artifactId>
  <version>父模块版本号</version>
</parent>
<artifactId>OEADL-ANNOTATIONS</artifactId>

OEADL-SWING的pom还要添加对另外两个子模块的依赖:

<dependencies>
  <dependency>
    <groupId>你的父模块groupId</groupId>
    <artifactId>OEADL-EXCEPTIONS</artifactId>
    <version>同父模块版本</version>
  </dependency>
  <dependency>
    <groupId>你的父模块groupId</groupId>
    <artifactId>OEADL-ANNOTATIONS</artifactId>
    <version>同父模块版本</version>
  </dependency>
</dependencies>

2. 将子模块部署到Maven仓库

在父模块的根目录下执行Maven命令,把所有子模块安装到本地仓库(如果是团队协作,部署到公司远程仓库):

mvn clean install

执行完成后,每个子模块都会以独立的依赖坐标存在于Maven仓库中。

3. 服务端项目导入OEADL-ANNOTATIONS

在服务端项目的pom.xml里直接添加该子模块的依赖即可:

<dependencies>
  <dependency>
    <groupId>你的父模块groupId</groupId>
    <artifactId>OEADL-ANNOTATIONS</artifactId>
    <version>对应版本号</version>
  </dependency>
</dependencies>

4. 客户端项目导入OEADL-SWING

客户端项目只需要添加OEADL-SWING的依赖,Maven会自动处理它的传递依赖,把OEADL-EXCEPTIONS和OEADL-ANNOTATIONS一并引入:

<dependencies>
  <dependency>
    <groupId>你的父模块groupId</groupId>
    <artifactId>OEADL-SWING</artifactId>
    <version>对应版本号</version>
  </dependency>
</dependencies>

注意事项

  • 确保所有子模块的groupId、artifactId、version配置统一,避免依赖找不到的问题
  • 如果是远程仓库,需要确保子模块已经成功部署,并且客户端/服务端项目能访问到该仓库

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 20:32:49