[英]Multiple Maven Mirrors for the same repositories
作為一名顧問,我有多個客戶,我正在為他們工作。 每個客戶端都使用自己的內部Maven存儲庫,該存儲庫也設置為鏡像Central和其他外部存儲庫。 我需要在筆記本電腦上配置我的maven安裝,這樣當我為一個客戶端工作時,它會利用內部存儲庫來處理所有事情。
我以為我可以利用配置文件來處理這個問題,但是每個配置文件都無法更改鏡像設置。
有沒有人建議如何處理這種maven配置?
注意:類似的問題在這里: 如果nexus服務器關閉,如何配置maven訪問maven central? ,但這個問題涉及從鏡子到中央之間切換。 我需要的是Central(和其他)基於某些屬性/設置/變量等來自一個鏡像或不同的鏡像。
創建兩個shell別名:
alias build_at_home="mvn -s $HOME/.m2/home_settings.xml"
alias build_at_work="mvn -s $HOME/.m2/work_settings.xml"
“-s”選項可以方便地明確說明要使用的環境設置文件。 我們在共享構建服務器上使用此機制來確保每個項目構建都是隔離的。
顯然在Windows上你可以創建一組批處理文件。
我的項目也有類似的要求。 我創建了兩個單獨的settings.xml
文件,將它們命名為settings_one.xml
和settings_two.xml
,並將它們保存在MAVEN_HOME
。 根據我需要的文件,我有一個小腳本(Windows上的bat文件),它用兩個設置文件之一覆蓋現有settings.xml。
del C:\Users\<username>\.m2\settings.xml
copy C:\Users\<username>\.m2\settings_one.xml C:\Users\tadigotl\.m2\settings.xml
我可以建議的最簡單的解決方案是安裝git並將.m2 / settings.xml(當然通過.gitignore忽略存儲庫本身)提交到git並為客戶提供適當的分支。 更改設置將通過以下方式完成:
git checkout CUSTOMER_BRANCH
此外,SCM會跟蹤任何變更。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.