2011-06-03 13 views
12

Maven 3 projesinde pom.xml numaralı bağımlılıkta bir bağımlılık tanımlıyorum. şöyle Bağımlılık:Neden maven yanlış repoda artefakt arıyor?

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

Yapay gerçekten depo içinde mevcut olan aşağıdaki gibidir:

<dependency> 
    <groupId>org.glassfish.web</groupId> 
    <artifactId>el-impl</artifactId> 
    <scope>runtime</scope> 
    <version>2.2</version> 
</dependency> 

Repostory pom açıklanmaktadır. It's easy to check. Buna rağmen Maven, eseri repo1.maven.org'dan almaya çalışıyor. Bunun nedeni ne olabilir? Belki de depo erişimi tanımlarken bazı önemli hatalar yapıyorum? Diğer bağımlılıklar iyi görünüyor.

Plugin org.mortbay.jetty:maven-jetty-plugin:6.1.26 or one of its 
dependencies could not be resolved: Could not find artifact 
org.glassfish.web:el-impl:jar:2.2 
in central (http://repo1.maven.org/maven2) 

cevap

17

ancak plugins için değil. Bu yüzden hata.

bu gidermek için, pluginRepositories tanımlamak gerekir:

<project> 
    <!-- ... --> 

    <pluginRepositories> 
     <pluginRepository> 
      <id>{repo.id}</id> 
      <url>{repo.url}</url> 
     </pluginRepository> 
    </pluginRepositories> 
</project> 

belirttiğiniz gereken yere gelince - pom.xml veya settings.xml içinde, this SO post okuyun.

1

Sen maven settings.xml (: M2_HOME/conf Maven klasörüne bak) kontrol etmek gerekir.
Varsayılan depolar orada tanımlanmıştır ve Maven merkezi deposu önceliklidir.

Maven'in en settings.xml böyle daki depo tanımlayın: çok yapılandırmayı yapmak istemiyorsanız

<profiles> 
<profile> 
    ... 
    <repositories> 
    <repository> 
     <id>Java Net</id> 
     <name>Java Net</name> 
     <releases> 
     <enabled>false</enabled> 
     <updatePolicy>always</updatePolicy> 
     <checksumPolicy>warn</checksumPolicy> 
     </releases> 
     <snapshots> 
     <enabled>true</enabled> 
     <updatePolicy>never</updatePolicy> 
     <checksumPolicy>fail</checksumPolicy> 
     </snapshots> 
     <url>http://download.java.net/maven/2</url> 
     <layout>default</layout> 
    </repository> 
    </repositories> 
    <pluginRepositories> 
    ... 
    </pluginRepositories> 
    ... 
</profile> 

Belki sizinkiyle varsayılan Maven merkezi depo yeri üzerine yazabilirsiniz.

Şerefe!

Eğer bağımlılıkları için kullanılan tanımladık repository
İlgili konular