Maven 找不到依赖项
Posted
技术标签:
【中文标题】Maven 找不到依赖项【英文标题】:Maven doesn't find dependency 【发布时间】:2016-10-01 13:56:15 【问题描述】:我在 Maven 中为 servlet 添加了一个依赖项,如 here、here 和 here 所示
Maven 没有找到它:
依赖 javax.servlet:javax.servlet-api:3.0.1 未找到
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
我尝试添加这个,但不起作用:
<repository>
<id>maven2</id>
<url>https://mvnrepository.com</url>
</repository>
或者这个:
<repository>
<id>maven2</id>
<url>http://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/3.0.1/</url>
</repository>
【问题讨论】:
我尝试添加此依赖项,它对我有用。检查您的 Maven 控制台中的错误并将其放在这里。 @VijendraKulhade 你是什么意思?我在 intellij 上使用 maven,intellij 给我的错误是:找不到依赖项 javax.servlet:javax.servlet-api:3.0.1。我在哪里可以检查 maven 错误? 您可以尝试在 Intellij Idea 设置中添加 maven 存储库。我在我的设置中添加了repo.maven.apache.org/maven2。如果它已经存在,请按更新按钮。 我遇到了同样的问题,然后我注意到我在 pom.xml 中包含了//
评论而不是 <!-- -->
评论。 IntelliJ 没有将其显示为错误,而是说它找不到依赖项,这导致我走错了路:D
【参考方案1】:
首先你需要验证你是否有互联网连接,然后你可以尝试清除并解决本地 Maven 存储库中的依赖关系,因为可能存在一些损坏的包,你可以尝试以下命令来完成此操作:
mvn dependency:purge-local-repository
查看Purging local repository dependencies 了解更多信息。
【讨论】:
@real-al 感谢这工作。当我有足够的积分时,我也会投票。尝试清除时,我收到一条错误消息,告诉我插件的版本不正确(我放的是最新版本)。然后在清除后它起作用了。 您不应该使用LATEST
作为版本。最好用您想使用的特定版本固定版本。【参考方案2】:
使用默认存储库:
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
不要这样做:http://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/3.0.1/
即使您应该删除标记<repositories>
或<repository>
的所有内容以及其中的所有内容,Maven 也会自动使用默认配置。
参考: http://maven.apache.org/pom.html#The_Super_POM
【讨论】:
以上是关于Maven 找不到依赖项的主要内容,如果未能解决你的问题,请参考以下文章
asp.net提示“未能加载文件或程序集“XXXXXXXX.dll”或它的某一个依赖项。找不到指定的模块。”