2014-10-30 53 views
1

我有一個運行maven構建任務的shell腳本。腳本運行時,它以sudo用戶身份運行。但是,我位於代理之後,因此需要在我的〜/ .m2/settings.xml文件中指定代理詳細信息。這目前在主用戶的主目錄中。哪個maven settings.xml文件將sudo使用?

我發現當這個腳本以sudo方式運行時,它不會從其他用戶的〜/ .m2/settings.xml文件中獲取settings.xml文件。

如何爲sudo/root用戶指定這些設置?我應該把這個settings.xml放在root用戶的主目錄中嗎?

回答

1

當你使用sudo,我覺得user.home性質的變化,這就是爲什麼這個,

可以明確

-s 

指定設置文件例如

mvn clean compile -s /home/foo/.m2/settings.xml 
+0

嗯,不幸的是,我不能傳遞設置文件,因爲maven調用是在shell腳本中引用的,我真的不應該改變:( – jcm 2014-10-30 05:38:32

+0

編寫一個打印'user.home'屬性並啓動的最小java代碼使用sudo並查看,併爲您的settings.xml創建該目錄的軟鏈接 – 2014-10-30 05:41:50

3

如果所有用戶在機器上將始終需要代理設置,您可以簡單地將它們添加到全局文件settings.xml

這通常可以在$M2_HOME/conf/settings.xml找到。

相關問題