問題:我的軟件使用的庫是每個開發人員(和用戶)安裝在不同位置的庫。在pom.xml之外指定systemPath依賴關係
在pom.xml
以下工作:
<project ...>
...
<dependencies>
<dependency>
<groupId>myGroup</groupId>
<artifactId>myName</artifactId>
<version>1.2.3</version>
<scope>system</scope>
<systemPath>C:\...\....jar</systemPath>
</dependency>
</dependencies>
</project>
但是,當我檢查到源代碼控制這一點,每個人誰需要開發商去改變它,有可能改變pom.xml
,因此具有忽略它在每次提交後或如果他必須改變pom.xml
中的其他任何內容(例如添加其他依賴項),則部分提交。
使用性能沒有幫助,它只是把問題移到到
pom.xml
內的另一個位置。使用屬性和從外部文件中讀取它(屬性 - 行家-插件)似乎不工作,因爲該插件被稱爲後的例如的相關性檢查月蝕:Dynamically adding a Maven dependency from a property
使用環境變量
${env.MY_VARIABLE}
似乎沒有工作,要麼:[ERROR] 'dependencies.dependency.systemPath' for myGroup:myName:jar must specify an absolute path but is ${env.MY_VARIABLE} @line 123, column 45
如何解決任何想法?
你會在錯誤的方向。 '系統 '是你應該很可能不會使用的東西,並且有一天會被刪除。請參閱http://stackoverflow.com/questions/364114/can-i-add-jars-to-maven-2-build-classpath-without-installing-them以獲得正確的方法。 –
Tunaki
這不是我的jar,所以我不能將其與我的應用程序分發。該jar受到嚴格保護,因此我無法將其添加到本地存儲庫,對其進行處理,甚至將其移動 - 它必須坐在鍵盤前人員安裝的位置。 我沒有看到任何方式沒有'系統 '如何解決。或者有沒有在我沒有得到的鏈接頁面上? –
Bowi
*該jar受到嚴格保護,因此我無法將其添加到本地存儲庫*爲什麼不?現在您的本地倉庫中可能有數千個JAR不是您的,而是從其他Maven倉庫下載的。這個特定的一個在遠程倉庫中不可用,但這並不意味着您無法安裝它。 – Tunaki