問題是,在我們公司我們有一個包含多個子模塊的項目,但其中一個子模塊僅僅是一個API聲明並用於其他(第三批)項目使用。我想保留它作爲一個子模塊,因爲它更容易維護和構建(依賴和屬性繼承)。這個項目中的其他子模塊也依賴於它。將maven子模塊部署到存儲庫以供其他項目使用(不包含父項)
我的問題是,如果存在一個很好的做法或者一個很好的方法來執行一個部署階段,它只會將這個子模塊上傳到不同的存儲庫(也可以重複),而不會對父項有依賴關係POM。
我已經嘗試過的: 我已經檢查過deploy:deploy-file,但問題在於涉及到SNAPSHOT的構建。我們希望能夠發佈SNAPSHOTS和發佈構建,並且快照具有與發佈版本不同的存儲庫,但部署文件目標只能有一個url參數。我不希望爲快照部署使用不同的配置文件。比起我試圖使用maven build-helper及其正則表達式屬性能夠在版本是SNAPSHOT時更改存儲庫url,但由於插件和正則表達式的限制,無法這樣做。
最後一個選項是我可以爲此做一個插件,但我想知道是否有更優雅的方式來解決這種「maven方式」。
只是爲了確保:您想運行'mvn deploy',但只實際將您的「客戶端」jar部署到存儲庫? –
是的,我們有兩個獨立的存儲庫,一個內部和一個「公共」,只有客戶端模塊應該進入公共狀態。 – MatijaG
如果特定子模塊需要一個完全獨立的發佈策略(版本增量,scm標籤,不同的發佈版本庫等),那麼最好的「maven way」IMO就是將它分離並使其成爲一個獨立的模塊。 – yorkw