2011-06-03 7 views
12

Maven 3プロジェクトでpom.xmlに依存関係を定義しています。次のように依存性がある:なぜ、間違ったレポの人工物を探しているのですか?

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

アーティファクトが実際にリポジトリに存在する次のよう

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

RepostoryはPOMに記載されています。 It's easy to check。それにもかかわらず、Mavenはrepo1.maven.orgからアーティファクトを取得しようとしています。 この理由は何でしょうか?リポジトリへのアクセスを定義する際に重大な間違いを犯す可能性がありますか?他の依存関係はうまくいくようです。

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) 

答えて

17

あなたが定義したrepositoryが依存関係のために使用されますが、ではなくpluginsの場合はではありません。したがって、エラー。

は、これに対処するには、pluginRepositoriesを定義する必要があります。

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

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

は、指定しなければならないところまで通り - のpom.xmlまたはsettings.xml内、this SO postをお読みください。

1

あなたのMaven settings.xmlを(Mavenのフォルダに見て:M2_HOME/conf)をチェックする必要があります。
デフォルトのリポジトリが定義されており、Mavenセントラルリポジトリが優先されます。

<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> 

あなたは多くの設定を行うにはしたくない場合は、多分あなたとデフォルトのMaven中央リポジトリの場所を上書きすることができます。

は、Mavenのsettings.xmlこのようにリポジトリを定義します。

乾杯!

関連する問題