2012-03-06 38 views
2

我正在使用Maven與Nexus建立我的項目與哈德森茨。每次當我部署一個新的快照神器時,他都會用nexus中的一個獨特版本來做這件事。對於我來說,Nexus總是給我最新的版本。JAR文件名中的Maven獨特版本

現在我看着我的項目,該項目使用該快照依賴和它在其lib目錄下的jar文件的戰爭文件,這是絕對不精:

框架,客戶1.1-20120302.141044-3 .jar

問題是我使用EBean作爲ORM,我需要在ebean.properties中指定jar名稱,以便讓他知道在哪裏找到它的模型。

如何防止此類行爲,以便最新的快照dep始終調用framework-client-1.1-SNAPSHOT.jar?

謝謝!

+0

哪個Maven版本?你的settings.xml如何? – khmarbaise 2012-03-06 10:40:31

+0

Maven 3.0.3和JDK 6(24)。我的settings.xml幾乎是標準配置,除了nexus的鏡像設置 – Gambo 2012-03-06 10:51:01

+0

您是否配置爲在nexus存儲庫的鏡像設置中使用uniqueVersion? – khmarbaise 2012-03-06 11:31:59

回答

0

只需將war文件中的jar重命名爲任何你喜歡的名字即可。詳情在這裏

Renaming Maven dependency in WAR's WEB-INF/lib folder

+0

如果沒有配置來修復根問題,我只會同意這個選項。這似乎只是一個黑客/解決方法,它不能解決真正的問題。 – 2012-03-30 17:57:56

+0

那麼......這是修復,如果你需要它在開發中工作。如果您使用非快照版本,則不需要它。所以,如果你喜歡,你可以在開發人員檔案中找到它,並將其放在發佈配置文件中。你將不得不接受將快照部署爲名爲工件的時間戳。這就是它的原理。 – 2012-03-30 18:07:20

+0

我相當肯定你可以配置maven以便不唯一地識別快照,因爲我記得幾年前需要在maven 2中做這件事。如果不是,你說得對,重命名放入WAR中的JAR是一個合適的解決方案。 – 2012-03-30 18:10:39