Maven父子级项目结构deploy指定子项目发布到私服

Owen Jia 2019年07月23日 1,382次浏览

Maven父子级项目,一般会有多层,如下面

seafly-parent
|— seafly-web
|— seafly-core
|— |— seafly-core-util
|— |— seafly-core-service
|— seafly-api

我们想讲seafly-api发布到私服中作为api被其他项目引入,而seafly-api依赖与seafly-parent,一般的version都是继承parent的version。每次version变化需要把依赖的所有模块都deploy到私服中。

问题

一、直接 deploy seafile-api 会报错,提示没有seafly-parent。

二、直接 deploy seafly-parent 会把所有子模块都上传到私服中,这不是我们希望的。

办法

通过 maven-deploy-plugin 插件的参数来控制

<properties>
  <maven.deploy.skip>true</maven.deploy.skip>
</properties>

哪个项目不需要发布就加上这个属性,即可。

按上面例子,需要多seafly-web和seafly-core都加上。