2010-09-01 29 views
32

我剛剛使用默認原型創建了一個新的Maven項目,並將以下依賴項添加到我的POM文件中。java.net maven回購 - JMS神器丟失

<dependencies> 
    <dependency> 
    <groupId>javax.jms</groupId> 
    <artifactId>jms</artifactId> 
    <version>1.1</version> 
    <scope>compile</scope> 
    </dependency> 
</dependencies> 

意識到太陽的JAR文件不在Maven的中央,由於授權問題,我加 以下Maven回購我的POM(我知道這是不好的做法,雖然,它需要被添加到設置.xml)

<repositories> 
    <repository> 
    <id>Repo ID</id> 
    <layout>default</layout> 
    <name>Java.net Maven repo</name> 
    <releases> 
     <enabled>true</enabled> 
    </releases> 
    <url>http://download.java.net/maven/2/</url> 
    </repository> 
</repositories> 

我仍然在我的POM文件中看到這個錯誤。

「失蹤神器的javax.jms:JMS:罐子:1.1:編譯」

有誰知道這裏需要除了配置我已經有做什麼嗎?

回答

45

意識到太陽的JAR文件不在Maven的中央,由於授權問題,我加 以下Maven回購我的POM

呀,但http://download.java.net/maven/2/javax/沒有JMS神器.. 。

的好消息是,在JBoss的Nexus倉庫確實有它:

<repository> 
    <id>repository.jboss.org-public</id> 
    <name>JBoss repository</name> 
    <url>https://repository.jboss.org/nexus/content/groups/public</url> 
</repository> 
+1

工作正常。感謝Pascal。 – Phanindra 2010-09-02 01:01:37

+0

你知道有沒有JMS的源代碼和javadoc jar/poms?顯然,JBoss只有二進制JAR。 – HDave 2010-12-07 22:38:22

+1

如果您在添加回購後收到消息「無連接器可用於訪問存儲庫java.net」,則問題在於您使用的Maven3與Maven2回購協議不兼容。您可以降級或添加例外:http://stackoverflow.com/questions/7894794/maven-failing-to-resolve-recursive-dependencies-with-multiple-repositories – ceiroa 2012-09-04 20:51:10

6

如果你只想JM小號神器,不希望添加整個回購,你可以做到以下幾點:

wget https://repository.jboss.org/nexus/content/groups/public/javax/jms/jms/1.1/jms-1.1.jar 
mvn -e install:install-file -Dfile=./jms-1.1.jar -DartifactId=jms -DgroupId=javax.jms -Dversion=1.1 -Dpackaging=jar 
+0

謝謝。其實這個解決方案解決了我的問題。我正在嘗試構建Spring RCP 1.1.0,並且因上述錯誤而失敗。你的解決方案釘住了它。謝謝+1 – 2013-05-06 15:16:22

+0

如果你在一個更大的組織中,你最好安裝一個自定義的Maven倉庫,這樣你的構建也可以在本地機器之外重現。 – OndrejM 2016-12-08 10:15:54