Maven多模块打包问题

1. 项目结构

tdk
├── tdk-server
├── tdk-api
├── tdk-inf
└── tdk-client

tdk pom

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.test</groupId>
    <artifactId>tdk</artifactId>
    <version>0.0.1</version>
    <packaging>pom</packaging>
    <modules>
        <module>tdk-api</module>
        <module>tdk-client</module>
        <module>tdk-inf</module>
        <module>tdk-server</module>
    </modules>

tdk-inf pom

    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.test</groupId>
        <artifactId>tdk</artifactId>
        <version>0.0.1</version>
    </parent>
    <packaging>jar</packaging>
    <version>0.0.1</version>
    <artifactId>tdk-inf</artifactId>

tdk-server 依赖tdk-inf

        <dependency>
            <groupId>com.ximalaya.webgroup</groupId>
            <artifactId>tdk-inf</artifactId>
        </dependency>

2. 打包问题

tdk-server依赖tdk-inf,如果要打包tdk-server,则需要将tdk-inf发布到仓库。在depoly tdk-inf到仓库后,由于它依赖tdk pom,如果tdk pom没有deploy到仓库,就会导致tdk-server的打包失败。

3. 解决办法

  • 在tdk的pom下执行deploy,这样就会自动将tdk 以及所有的子module都发布到仓库。
  • 去掉子模块,将每个模块作为一个独立的项目发布

4. 操作方法

  • 在tdk pom里面添加 distributionManagement
  <distributionManagement>
    <repository>
      <id>nexus</id>
      <name>Releases</name>
      <url>http://xxxx/repository/maven-releases</url>
    </repository>
    <snapshotRepository>
      <id>nexus</id>
      <name>Snapshot</name>
      <url>http://xxxx/repository/maven-snapshots</url>
    </snapshotRepository>
  </distributionManagement>
  • 在parent pom下执行deploy
  • 如果不想让某些子模块部署到仓库,可以在子模块中添加
<properties>
    <maven.deploy.skip>true</maven.deploy.skip>
</properties>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在用IDEA构建maven多module项目时,碰到了一些问题,现在归纳总结如下。 假如一个maven项目下分为几...
    ilaoke阅读 71,743评论 13 26
  • |-1-更新内容[6.从仓库解析依赖的机制(重要)] 1Maven仓库作用 仓库用来存储所有项目使用到构件,在ma...
    zlcook阅读 6,216评论 0 25
  • Maven的基本了解 什么是Maven? Maven就是Apache下的一个开源项目。它是用纯java开发的。是一...
    Bcome阅读 2,917评论 0 7
  • 前言什么是 POMQuick Overview POM 常用元素 pom.xml 完整注释 参考 0 前言 什么是...
    阿父阅读 12,687评论 1 36
  • 2017.11.1 1.感恩父母多年的养育之恩 2.感恩母亲的坚强,慈悲,对家庭付出无限的爱和支持 3.感恩众因众...
    莹火蟲儿阅读 427评论 0 0