Maven没有在Eclipse

时间:2015-07-30 09:44:19

标签: java eclipse maven

我正在eclipse中设置一个项目。此项目通过命令行成功构建(mvnmvn packagemvn compile等所有mvn clean install命令都可以正常工作。在STS或Eclipse上设置此项目时。我看到有些依赖项没有被下载,即使它们存在于pom.xml中。但是,在maven存储库中搜索它们并将jar下载到我的本地计算机然后将它们添加到构建路径使它可以在Eclipse上运行。

我们需要做些什么才能确保eclipse从存储库中下载所有依赖项。

我的POM

<dependency>
    <groupId>org.apache.bookkeeper</groupId>
    <artifactId>bookkeeper-server-compat410</artifactId>
    <version>4.1.0</version>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.apache.bookkeeper</groupId>
            <artifactId>bookkeeper-server</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.bookkeeper</groupId>
    <artifactId>bookkeeper-server-compat420</artifactId>
    <version>4.2.0</version>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.apache.bookkeeper</groupId>
            <artifactId>bookkeeper-server</artifactId>
        </exclusion>
    </exclusions>
</dependency>

这些工件都没有为eclipse下载,并且发现http://mvnrepository.com/artifact/org.apache.bookkeeper/bookkeeper-server-compat410/4.1.0http://mvnrepository.com/artifact/org.apache.bookkeeper/bookkeeper-server-compat420/4.2.0的jar文件不存在于MavenDependencies的文件夹中,随后在Eclipse中出错。

enter image description here

但是,手动将它们添加到构建路径会创建一个新文件夹(参考库)并解决Eclipse错误。为什么Eclipse不能从maven存储库中自行下载和导入这些依赖项?这是Eclipse中的错误还是我身边的一些问题。请帮忙。

enter image description here

10 个答案:

答案 0 :(得分:20)

我遇到了同样的问题,这就是我解决的问题。 :

  1. 右键单击您的项目,选择Run As - &gt; Maven安装。 观察输出控制台以查看安装进度。后 安装完成后,您可以继续下一步。
  2. enter image description here

    enter image description here

    1. 右键单击您的Spring MVC项目,选择Maven - &gt;更新项目。
    2. enter image description here

      1. 选择项目,然后单击“确定”。等到更新过程结束 结束。
      2. 错误仍然存​​在,然后执行Project-&gt; Clean,然后确保选择了我们的项目目录,然后执行以下项目 - &gt; Build。

答案 1 :(得分:5)

  

解决方案1:

设置正确的代理:

<proxy>
    <id>optional</id>
    <active>false</active>
    <protocol>http</protocol>
    <username></username>
    <password></password>
    <host>172.27.171.91</host>
    <port>8080</port>
</proxy>
  

解决方案2:

删除

lastupdated extension files from folder

并尝试更新maven。

[此解决方案大部分时间都有效]

答案 2 :(得分:4)

有时下载依赖项时出错 - 例如。下载了一些文件,但本地Maven存储库中缺少实际的JAR。

在这种情况下,我必须删除本地maven存储库中有问题的依赖项的整个文件夹。只有这样才能使Maven更新工作(右键单击项目并选择Project > Maven > Update Project...。) enter image description here enter image description here

答案 3 :(得分:1)

在我的情况下,我取消选中Build automatically。再次检查它开始下载罐子。

答案 4 :(得分:0)

我遇到了类似的问题。我尝试删除.m2中的文件夹并再次构建maven项目 我可以下载所有依赖项,除了我们自己创建并在Nexus上发布的一个依赖项。
然后我改变了java从JRE指向JDK解决了我的问题

答案 5 :(得分:0)

以下对我有用。
只需右键点击Project -> Maven -> Update Project...,就会显示here

答案 6 :(得分:0)

我遇到了类似的问题,请按照以下步骤进行操作以解决问题。

  1. 从各个文件夹中删除最后修改的jar。
  2. 选择项目

    • 右键单击-> Maven

    • 更新项目。

它将下载所有丢失的Jars。

答案 7 :(得分:0)

我最近遇到了同样的问题。

首先,您必须在Maven存储库的settings.xml中配置代理设置。

如果您使用的是eclipse / STS,请进行以下验证。

Window -> Preferences -> Maven -> User Settings -> update user settings by pointing your settings.xml

现在设置为更新Maven项目。它为我工作。

答案 8 :(得分:0)

对我来说,我将包装从pom更改为jar,然后下载了依赖项。

so I changed from <packaging>pom</packaging> to <packaging>jar</packaging>

答案 9 :(得分:0)

确保您定义的依赖关系尽可能接近需要它的项目树的叶子。 否则,Maven可能会忽略它。

例如,如果您有一个引用项目A和B的父项目,并且依赖项是相对于项目A的,则Maven可能会忽略在父项的pom.xml中定义依赖项。因此,在项目A的pom.xml中定义它。

Parent Project's pom.xml
   Sub-project A's pom.xml <<< define the dependency where it is needed
   Sub-project B's pom.xml