2009-06-25 62 views
19

我厭倦了在Maven中手動安裝javax jar文件,並想知道在javax.cache,javax.transaction或其他在Maven存儲庫中不容易找到的JSRs的依賴關係的最佳解決方案。如何在Maven中添加javax。*依賴項?

+0

作爲一個方面說明。由於Java現在是開源的,我們可以擺脫這些荒謬的下載限制嗎? – pjesi 2009-06-26 19:44:25

+0

JTA的問題是二進制分發許可證。我知道,它很爛 – 2009-06-27 16:43:03

回答

11

你見過http://maven.apache.org/guides/mini/guide-coping-with-sun-jars.html

此鏈接建議使用groupID和artifactID,以及java.net存儲庫。

在我看來,這個命名方案中的幾乎所有這些存在於中央Maven倉庫中。

+0

感謝您的鏈接,它幫助了很多。但是,它並沒有幫助我找到javax.cache。有任何想法嗎? – pjesi 2009-06-26 19:42:01

5

我不知道一個的,但加入java.net庫可以幫助您與這些依賴關係:

<repositories> 
    <repository> 
     <id>java.net repository</id> 
     <url>http://download.java.net/maven/2</url> 
    </repository> 
</repositories> 
3

javax.cachejcache:jcache:1.0-XXX神器(在Maven的中央回購)

<dependency> 
    <groupId>jcache</groupId> 
    <artifactId>jcache</artifactId> 
    <version>1.0-dev-2</version> 
</dependency> 

javax.transaction.*類在javax.transaction:jta:1.1工件,因爲太陽的二進制許可證(我知道,這很糟糕),JTA jar不能插入到Maven存儲庫中。要使用它,您需要手動下載JAR(它是免費的),並將其放入本地存儲庫或使用java.net中包含的1.0.1B版本。

注:我在一些地方JTA將被集成在JDK

我知道以後的版本讀的是真的找到Maven的倉庫,這些文物痛苦,但你可以做一個搜索的在www.mvnrepository.com類中,它會向您顯示大多數所有軟件包的正確groupId和artifactId。

+0

Javax.transaction 1.0.1B在http://download.java.net/maven/2 – 2009-06-28 19:17:11

4

如果建立在多個盒子和/或團隊開發上,本地(內聯網)maven倉庫管理器可以幫助解決這些「缺失」瓶子問題。這不僅集中了不在公共存儲庫中的第三方罐的配置和管理,而且集中了所有外部存儲庫。它還可以幫助自動化構建,創建更多的「可重現」構建(例如,如果您擁有一個持續集成服務器池)。

  1. 安裝mvn repo mgr(查看列表 - imo,nexus開頭真的很簡單);
  2. 使用包含指向您的Intranet mvn回購管理器的「鏡像」部分的自定義settings.xml。或者更新你的〜/ .m2/settings.xml,或者使用「mvn -s etc/settings.xml」運行maven - 對於你不需要自定義的per-user settings.xml的hudson版本很有用;
  3. 手動將您的'問題'罐子上傳到您的內部倉庫(再次,通過網絡界面超級簡單W/Nexus);
  4. 將內部mvn repo mgr設置爲repo1.maven.org/maven2,codehaus,java.net,...(等)的「鏡像」。

現在,你可以集中定義所有的第三方庫&第三方jar文件 - 而不是要求每個人,每個箱子和/或每個項目在他們的POM或settings.xml中單獨定義它們。每個項目/人員/箱子只會將您的中央內部Maven回購定義爲所有Maven項目的單個回購。

這也真的加快您的工件重新下載時間爲新的版本,或者當您需要(或想要)刪除您的本地〜/ .m2 /資源庫緩存時。

回購經理:承上啓下,archiva,artifactory的......例如,:maven.apache.org/repository-management.html - http://docs.codehaus.org/display/MAVENUSER/Maven+Repository+Manager+Feature+Matrix

1

在JTA的特定情況下,我打這個帖子:

http://www.jugpadova.it/articles/2005/11/26/maven-2-spring-and-jta-depencies 

..這是有道理的,如果我不必花費大量的時間在Oracle的可怕的網站上得到前面提到的JAR文件。 (我本人也是甲骨文的愛好者,但該網站可以在這裏和那裏使用大量的UX返工)。

我決定更換什麼Hibernate提供,通過Geronimo的,按照這個帖子的依賴(非常完美):

https://forum.hibernate.org/viewtopic.php?p=2420836 

與Java許可和Maven該交易目前正由Hibernate的團隊合作上,或者看起來在這裏:

https://hibernate.onjira.com/browse/HHH-4548 

感謝大家分享!

相關問題