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

相關文章
相關標籤/搜索