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 中包含了 // 评论而不是 &lt;!-- --&gt; 评论。 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/

即使您应该删除标记&lt;repositories&gt;&lt;repository&gt; 的所有内容以及其中的所有内容,Maven 也会自动使用默认配置。

参考: http://maven.apache.org/pom.html#The_Super_POM

【讨论】:

以上是关于Maven 找不到依赖项的主要内容,如果未能解决你的问题,请参考以下文章

Maven 找不到依赖项

Dell笔记本启动找不到硬盘?

asp.net提示“未能加载文件或程序集“XXXXXXXX.dll”或它的某一个依赖项。找不到指定的模块。”

idea maven有坑之找不到依赖

为啥 Intellij 在 pom.xml 中找不到任何 Maven 依赖项?

找不到 Maven 依赖项的 Postgresql 驱动程序