【问题标题】:Maven doesn't find dependencyMaven 找不到依赖项
【发布时间】:2016-10-01 13:56:15
【问题描述】:

我在 Maven 中为 servlet 添加了一个依赖项,如 hereherehere 所示

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

标签: java maven servlets


【解决方案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

【讨论】:

    猜你喜欢
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 2014-11-20
    • 2017-09-18
    • 1970-01-01
    相关资源
    最近更新 更多