2010-12-08 54 views
0

我正在開發一個web應用並使用maven進行依賴管理(duh)。一些所需的jar已經在服務器庫文件夾中可用,但不匹配「maven命名方案」,即缺少版本後綴。Maven和AppServer依賴管理最佳實踐

我想用它們進行開發和部署,但..
1.我不能指向他們的maven,因爲maven似乎需要一個版本後綴。我無法在pom中省略它。
2.如果我定義了maven之外的依賴關係,那麼maven顯然無法構建。
3.重命名服務器分發內的文件聽起來像是一個混亂。

Brian Boitano會做什麼?我的意思是,我肯定有一個很好的解決方案,我沒有意識到,或者至少是上述三種解決方案之一的一個很好的論點。

謝謝

PS。我正在使用JBoss 5.1和Maven 2.2.1 ATM,但它隨時更改

+0

我想我應該有一個名爲的問題是「如何避免與Maven冗餘罐子部署」。所以到目前爲止我已經有了2個「最佳實踐」 - 從c0mrade和dimitrisli的「使用本地庫的系統範圍」中的「不要試圖變得聰明」。系統範圍應該是sorta不贊成。我不知道這個棄用是否仍然是有效的,與JBOSS_HOME – kostja 2010-12-08 16:58:41

回答

1

,如果你想明確地識別他們居住的地方,您可以提供這些瓶子作爲依賴與system範圍。欲瞭解更多信息看看here

0

如果這些是你使用的不是私有庫,我建議你使用那些從Maven倉庫的正式版本。

如果它們是私有的,你可以使用maven手動安裝JAR到你的本地庫(你可以用你的版本,後綴,組名,artifactId的等),然後在你的POM中使用它們。

+0

這樣的環境變量的相對路徑謝謝。看起來你的解決方案是忽略jar已經存在的事實,並遵循常規過程。這是我沒有提到的一個選項,但是:1.我想避免爲普通瓶子進行冗餘部署,以及2.爲什麼你更喜歡將repo罐子放到服務器分配提供的罐子上? – kostja 2010-12-08 15:33:35

+0

@kostja 1.因爲這就是maven的工作原理,如果你不喜歡它,就不要使用它。你必須有artifactId,groupId等等。2.他們基本上是一樣的,但是如果你想保留最新版本的軌道,Maven會爲你做這件事,而不是你關心它。 – ant 2010-12-08 15:48:36