Maven聚合项目deploy指定module

Maven聚合项目deploy指定module

不管是开源软件,仍是在团队合做工程中,不可避免地会须要deploy maven组件到maven仓库的状况,把咱们开发的maven组件提供给别人使用。在公司内部时,通常都有本身的maven仓库,当咱们须要发布组件的时候,执行发布命令便可把组件发布到maven私服供其余项目使用。shell

deploy命令api

mvn deploy

说明

当咱们开发了聚合maven项目,可是咱们只但愿把其中的部分项目(例如API接口定义)发布到maven仓库,其余例如实现部分的代码(包含了敏感信息如密码)不能发布到maven仓库。app

例如,这是一个示例的maven聚合项目结构,showcase-api须要发布到maven仓库,showcas-service和showcase-app不能发布到maven仓库,由于里面包含应用的配置信息和密码信息等等。dom

showcase
├── showcase-api
├── showcase-domain
├── showcase-service
├── showcase-app

问题

  • 若是直接deploy项目showcase-api的话,会提示showcase不存在,由于它的父项目在maven仓库中不存在。
  • 直接发布showcase的话,又回把showcase和它的子项目都发布到maven仓库

解决方案

这种状况,咱们只须要在不能发布到maven仓库的项目的pom.xml文件里加上一个属性便可:maven

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

这个示例中,咱们须要在showcase-service和showcase-app的pom.xml里加上这个配置便可。code

相关文章
相关标签/搜索