Maven多模块打包问题

1. 项目结构

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

tdk pom

    4.0.0
    com.test
    tdk
    0.0.1
    pom
    
        tdk-api
        tdk-client
        tdk-inf
        tdk-server
    

tdk-inf pom

    4.0.0
    
        com.test
        tdk
        0.0.1
    
    jar
    0.0.1
    tdk-inf

tdk-server 依赖tdk-inf

        
            com.ximalaya.webgroup
            tdk-inf
        

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
  
    
      nexus
      Releases
      http://xxxx/repository/maven-releases
    
    
      nexus
      Snapshot
      http://xxxx/repository/maven-snapshots
    
  
  • 在parent pom下执行deploy
  • 如果不想让某些子模块部署到仓库,可以在子模块中添加

    true

你可能感兴趣的:(Maven多模块打包问题)