我在 pom.xml
中定义了一个依赖项在 Maven 3 项目中。依赖如下:
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>el-impl</artifactId>
<scope>runtime</scope>
<version>2.2</version>
</dependency>
Repository 在 pom 中的描述如下:
<repository>
<id>java.net</id>
<name>java.net</name>
<url>http://download.java.net/maven/2</url>
</repository>
Artifact 确实存在于存储库中。 It's easy to check .尽管如此,Maven 正试图从
repo1.maven.org
获取 Artifact 。 . 这可能是什么原因? 也许我在定义存储库访问时犯了一些重大错误?其他依赖项似乎做得很好。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)
最佳答案
repository
您定义的用于依赖项,但 不是 为 plugins
.因此错误。
为了解决这个问题,您需要定义 pluginRepositories :
<project>
<!-- ... -->
<pluginRepositories>
<pluginRepository>
<id>{repo.id}</id>
<url>{repo.url}</url>
</pluginRepository>
</pluginRepositories>
</project>
至于你应该在哪里指定 - 在 pom.xml 或 settings.xml 中,阅读 this SO post .
关于maven - 为什么 maven 在错误的 repo 中寻找 Artifact ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6222175/