提问



我正在尝试使用Maven(m2eclipse)设置项目,但我在Eclipse中遇到此错误:



  描述资源路径位置类型
  无法计算构建计划:无法传输org.apache.maven.plugins:来自http://repo1.maven.org/maven2的maven-compiler-plugin:pom:2.0.2被缓存在本地存储库中,解析不会重新尝试,直到中心的更新间隔已经过去或强制更新为止。原始错误:无法传输工件org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2 from/to central(http://repo1.maven.org/maven2):在60000 ExampleProject之后没有收到响应未知的Maven问题[16] [17]



有任何想法吗?
如果你能告诉我如何检查一切是否配置好会有所帮助...

最佳参考


删除所有失败的下载:


find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;


对于Windows:


cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i


然后在eclipse中右键单击您的项目并选择Maven - >Update Project ...,确保在生成的对话框中选中Update Dependencies,然后单击确定。

其它参考1


这也适用于Windows。



  1. 找到{user}/。m2/repository(在此使用Juno/Win7)

  2. 在窗口右上角的搜索字段中,键入.lastupdated。 Windows将查看目录中这些文件的所有子文件夹。 (我没看透缓存。)

  3. 通过右键单击>删除删除它们(我保留了所有lastupdated.properties)。

  4. 然后返回Eclipse,右键单击该项目并选择Maven> Update Project。我选择了强制更新快照/版本。单击确定,最终正确解析依赖关系。


其它参考2


在Eclipse中:
右键单击项目 - > Maven->更新项目 - >选中复选框强制更新快照/版本。单击确定。

其它参考3


尝试执行


mvn -U clean


或运行> Maven Clean和Maven>从eclipse中的项目上下文菜单更新快照

其它参考4


感谢您的回复,但经过一些搜索,我能够解决问题。事实证明,我必须删除一个* .lastUpdated,它阻止我的一个插件(Maven Surefire插件)更新。我是手动完成的,因为maven clean并没有明显做到这一点。


问题是插件的* .lastUpdated文件阻止了maven检查更新,并且不允许下载必要的jar。

其它参考5


这在Windows中对我有用:



  1. 找到{user}/.m2/repository

  2. 在窗口右上角的搜索字段中,键入.lastupdated。 Windows将查看目录中这些文件的所有子文件夹。

  3. 删除所有.lastupdated文件。

  4. 返回Eclipse,右键单击项目并选择Maven > Update Project

  5. 选择Force Update of Snapshots/Releases

  6. 单击确定,依赖关系最终将正确解析。


其它参考6


在我的情况下。问题是同样的原因。我看到问题出在代理和防火墙上。


我的解决方案

Fisrt方式:
1。安装Maven和Eclipse的代理服务器2。转到找到 {user}/.m2/repository 并删除所有 * .lastupdated 文件.3。返回Eclipse,右键单击项目并选择 Maven>更新项目。 >选择强制更新快照/版本。


如果项目仍然存在错误。例子:完成上述步骤后,这是我的问题


Failure to transfer org.apache.maven:maven-archiver:pom:2.5 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven:maven-archiver:pom:2.5 from/to central (https://repo.maven.apache.org/maven2): Connect timed out


我使用这个对我有用的解决方案:

1.在https://mvnrepository.com/中找到存储库.2。将依赖项复制到项目的 * .poml 例子[18]


<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-archiver</artifactId>
    <version>2.5</version>
</dependency>




3.建立项目。缺少的依赖项将下载到本地存储库。

4。返回Eclipse,右键单击该项目并选择 Maven> Update Project。 >选择强制更新快照/版本。
=>>错误已解决
5。完成并解决后,我在步骤2中删除依赖项。
完成

其它参考7


如果您在代理后面,则必须更新settings.xml文件(在MAVEN_HOME的conf文件夹下,文件本身包含有关代理设置的信息),此外,您可能需要更新Eclipse网络设置(Window->首选项...->键入网络连接)。


尝试使用-X或--debug以获取调试输出,这可以提供有关该问题的其他信息。

其它参考8


它碰巧在我身后像防火墙一样。当您在Eclipse IDE中运行时,有时不会下载依赖项。请确保使用mvn clean install -U来解决问题。在此之后您会看到依赖项下载。

其它参考9


我在Eclipse 3.6中使用m2eclipse有类似的问题。


无法计算构建计划:无法传输org.apache.maven.plugins:来自http://repo1.maven.org/maven2的maven-resources-plugin:jar:2.4.3被缓存在本地存储库中,在中心的更新间隔过去或强制更新之前,不会重新尝试解析。原始错误:无法传输工件org.apache.maven.plugins:maven-resources-plugin:jar:2.4.3 from central(http://repo1.maven.org/maven2):ConnectException project1 Unknown Maven Problem [19]


从我当地的汇票中删除所有maven * .lastUpdated文件(正如Deepak Joy建议的那样)解决了这个问题。

其它参考10


它发生在我身上也可能有两个解决方案



  1. 如果您的项目包含一些外部或项目特定的依赖关系,则必须手动将其添加到位于 C:\\ Users \\ Mohit.Singh的 M2 repo文件夹中。 m2 \\ repository 文件夹然后你必须运行
    mvn eclipse:eclipse 然后
    从项目文件夹中 mvn clean install

  2. 如果您没有任何wxternal或项目特定依赖关系,那么您可以将项目导入eclipse,因为现有maven项目
    然后右键单击项目 - >转到maven - >单击更新项目
    将出现一个窗口,检查强制快照下载选项并单击确定


其它参考11


我的工作区中只有几个项目,我遇到了类似的问题。其他具有几乎相同的POM的项目根本没有错误。列出的其他答案都没有解决我的问题。我最终偶然发现每个项目删除/重新应用Maven性质并且错误消失了:


对于每个项目都有一个pom,分辨率将不会重新尝试...错误:



  1. 右键单击Eclipse中的项目并选择 Maven - > 禁用Maven Nature

  2. 在Eclipse中右键单击项目并选择配置 - > 转换为Maven项目


其它参考12


只需删除 maven local repository中的原型。如上所述,它发生在失败原型下载的情况下。

其它参考13


在eclipse中给出正确的maven setting.xml路径。



  • Windows - >首选项 - > Maven - >用户设置



在用户设置文本框中输入正确的setting.xml路径

其它参考14


settings.xml for proxy?
并且在eclipse中有maven global \\ local profile,添加settings.xml

其它参考15


对我来说,我刚刚在POM.xml文件中添加了下面的xml代码。在我dit **右键单击项目 - > Maven - >更新项目后,我检查了快照/版本的强制更新**并且每件事都有效


    <dependencies>
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/jstl/jstl -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

其它参考16


您可以删除.m2文件夹本身并强制MyEclipse在启动时重新下载所有依赖项。转到Window> Preferences> MyEclipse> Maven4MyEclipse。

其它参考17


对我有用的解决方案如下:



  1. 将依赖项复制到pom。


    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>2.5</version>
    </dependency>
    

  2. 点击项目右侧

  3. 选择Maven

  4. 选择更新项目

  5. 选择强制更新快照/版本


其它参考18


请确保文件夹.m2中的settings.XML文件首先有效
然后使用cmd中的以下命令清理存储库


cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i