2012-05-11 38 views
1

我做了一個EJB 3.0和一個客戶端。 這是我的EJB的POM:無法從Jboss存儲庫檢索依賴項

<repositories> 
    <repository> 
     <id>Jboss</id> 
     <url>https://repository.jboss.org/nexus/content/repositories/releases/</url> 
    </repository> 
    </repositories> 
    <dependencies> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>6.0</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.ejb3</groupId> 
     <artifactId>jboss-ejb3-ext-api</artifactId> 
     <version>1.0.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.ejb3</groupId> 
     <artifactId>jboss-ejb3-ext-api-impl</artifactId> 
     <version>1.0.0</version> 
    </dependency> 
    </dependencies> 

不過的jboss-EJB3-EXT-API和它的實現不能被檢索:/ 日食告訴我:

容器 'Maven依賴'引用不存在的庫'C:\ usr \ local \ m2-repository \ org \

在我的客戶端,我只是添加編輯「jnp客戶端」,並沒有關於檢索這一個問題。
任何想法,爲什麼我不能檢索這2個罐子?
謝謝。

編輯
我需要這個類:「org.jboss.ejb3.annotation.RemoteBinding」使用@RemoteBinding。

編輯2:解決方案 在cmd中執行一些「mvn clean install」後我看到maven試圖下載一些transitie依賴項..... 從舊JBOSS REPO。因爲它被拒絕存取權限它下載最終的.jar

forbidden acces to old repo

添加以下exlusions前剛停下來解決(罐至極存取權限被拒絕)問題

<exclusions> 
<exclusion> 
<groupId>gnu-getopt</groupId> 
<artifactId>getopt</artifactId> 
</exclusion> 
<exclusion> 
<groupId>apache-xerces</groupId> 
<artifactId>xml-apis</artifactId> 
</exclusion> 
<exclusion> 
<groupId>apache-xerces</groupId> 
<artifactId>xercesImpl</artifactId> 
</exclusion> 
<exclusion> 
<groupId>wutka-dtdparser</groupId> 
<artifactId>dtdparser121</artifactId> 
</exclusion> 
<exclusion> 
<groupId>sun-jaxb</groupId> 
<artifactId>jaxb-api</artifactId> 
</exclusion> 
</exclusions> 

但是不有更好的解決方案嗎? 我猜它試圖從舊回購中獲取東西,因爲這個罐子不再使用,而且新的東西必須很受歡迎。

+0

您使用的是JBoss 6嗎? – Carlo

+0

對不起,Jboss AS 5.1.0.GA – Eildosa

回答

1

我發現了一個更好的解決方案, 事實上,這個存儲庫已經摺舊了,這意味着jboss管理不希望你再使用它。

<profile> 
    <id>jboss-deprecated-repository</id> 
    <repositories> 
    <repository> 
     <id>jboss-deprecated-repository</id> 
     <name>JBoss Deprecated Maven Repository</name> 
     <url>https://repository.jboss.org/nexus/content/repositories/deprecated/</url> 
     <layout>default</layout> 
     <releases> 
     <enabled>true</enabled> 
     <updatePolicy>never</updatePolicy> 
     </releases> 
     <snapshots> 
     <enabled>false</enabled> 
     <updatePolicy>never</updatePolicy> 
     </snapshots> 
    </repository> 
    </repositories> 
</profile> 

而且不要忘記激活由addind輪廓:

,但訪問該回購可如果你添加一個配置文件到您的Maven的settings.xml

添加該配置文件中授予之間

<pluginGroups> 
    <pluginGroup>org.jboss.maven.plugins</pluginGroup> 
    </pluginGroups> 
0

好了,你要尋找的罐子是$JBOSS_HOME/common/lib,所以我會以下列使其在你的Maven回購可供選擇:
mvn install:install-file -Dfile=$JBOSS_HOME/common/lib/jboss-ejb3-ext-api.jar -DgroupId="org.jboss.javaee" -DartifactId="jboss-javaee" -Dversion="1.0.0" -Dpackaging=jar

這樣做的更新在Eclipse中你的Maven依賴後。

+0

這將是一個解決方案,但是我正在做一個實習,並且我被要求提供一個pom.xml,能夠從互聯網上下載所需的一切。 爲這個項目編碼的人應該不需要在cmd的東西來得到他的jar:/ – Eildosa

+0

@Elidosa好的,但不知何故文件可以從互聯網下載,它包含在標準的JBoss歸檔中。我知道這是一個很長的一段時間雖然;) – Carlo

+0

所以,罐子是在一些在線回購? – Carlo