Maven聚合項目deploy指定module


Maven聚合項目deploy指定module

無論是開源軟件,還是在團隊合作工程中,不可避免地會需要deploy maven組件到maven倉庫的情況,把我們開發的maven組件提供給別人使用。在公司內部時,一般都有自己的maven倉庫,當我們需要發布組件的時候,執行發布命令即可把組件發布到maven私服供其他項目使用。

deploy命令

mvn deploy 

說明

當我們開發了聚合maven項目,但是我們只希望把其中的部分項目(例如API接口定義)發布到maven倉庫,其他例如實現部分的代碼(包含了敏感信息如密碼)不能發布到maven倉庫。

例如,這是一個示例的maven聚合項目結構,showcase-api需要發布到maven倉庫,showcas-service和showcase-app不能發布到maven倉庫,因為里面包含應用的配置信息和密碼信息等等。

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

問題

  • 如果直接deploy項目showcase-api的話,會提示showcase不存在,因為它的父項目在maven倉庫中不存在。
  • 直接發布showcase的話,又回把showcase和它的子項目都發布到maven倉庫

解決方案

這種情況,我們只需要在不能發布到maven倉庫的項目的pom.xml文件里加上一個屬性即可:

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

這個示例中,我們需要在showcase-service和showcase-app的pom.xml里加上這個配置即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM