Maven错误“未能转移......”

时间:2011-02-22 04:39:45

标签: eclipse maven

我正在尝试使用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 Unknown Maven问题后没有收到响应

有什么想法吗? 如果你能告诉我如何检查一切是否正常配置会很有帮助......

24 个答案:

答案 0 :(得分:663)

删除所有失败的下载内容:

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->“更新项目...”,确保在生成的对话框中选中“更新依赖项”,然后单击“确定”。

答案 1 :(得分:63)

这也适用于Windows。

  1. 找到{user} /。m2 / repository(在此使用Juno / Win7)
  2. 在窗口右上角的“搜索”字段中,键入“.lastupdated”。 Windows将查看目录中这些文件的所有子文件夹。 (我没看透缓存。)
  3. 通过右键单击>删除它们删除(我保留了所有lastupdated.properties)。
  4. 然后返回Eclipse,右键单击该项目并选择Maven>更新项目。我选择了“强制更新快照/版本”。单击“确定”,最终正确解析依赖关系。

答案 2 :(得分:28)

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

答案 3 :(得分:16)

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

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

答案 4 :(得分:15)

尝试执行

mvn -U clean

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

答案 5 :(得分:7)

就我而言。问题是同样的原因。我看到问题出在代理和防火墙上。

这是我的解决方案
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

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


3.建立项目。缺少的依赖项将下载到本地存储库。
4。返回Eclipse,右键单击项目并选择 Maven&gt;更新项目。 &GT;选择&#34;强制更新快照/版本&#34;。
=&gt;&gt;错误已解决
5。完成并解决后,我在步骤2中删除依赖项。 完成

答案 6 :(得分:7)

这在Windows中适用于我:

  1. 找到{user}/.m2/repository
  2. 在窗口右上角的“搜索”字段中,键入“.lastupdated”。 Windows将查看目录中这些文件的所有子文件夹。
  3. 删除所有.lastupdated个文件。
  4. 返回Eclipse,右键单击该项目并选择Maven > Update Project
  5. 选择“Force Update of Snapshots/Releases”。
  6. 单击“确定”,依赖关系最终将正确解析。

答案 7 :(得分:6)

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

答案 8 :(得分:5)

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

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

答案 9 :(得分:3)

我在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

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

答案 10 :(得分:2)

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

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

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

答案 11 :(得分:1)

在eclipse中提供正确的maven setting.xml路径。

  • Windows - &gt;偏好 - &gt; Maven - &gt;用户设置

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

答案 12 :(得分:1)

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

    <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>

答案 13 :(得分:1)

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

答案 14 :(得分:1)

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

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

  1. 在Eclipse中右键单击项目并选择 Maven - &gt; 禁用Maven Nature
  2. 在Eclipse中右键单击项目并选择配置 - &gt; 转换为Maven项目

答案 15 :(得分:0)

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

答案 16 :(得分:0)

您可以删除.m2文件夹本身并强制MyEclipse在启动时重新下载所有依赖项。转到窗口&gt;偏好&gt; MyEclipse&gt; Maven4MyEclipse。

答案 17 :(得分:0)

  • 由于删除了“ maven-compiler-plugin 2.0.2”,发生了上述错误 从Maven存储库。
  • 对我来说,当我将“ maven-compiler-plugin”降级到2.0或2.0.1版本时,上述错误得到解决。

答案 18 :(得分:0)

对于Mac

我删除了所有旧的失败的Maven下载,我的Mac上也有多个版本的Maven

找到〜/ .m2-名称“ * .lastUpdated” -exec grep -q“无法传送” {}; -print -exec rm {};

之后,我只是通过以下方式更新了日食

帮助->检查更新

问题已经为我解决

此问题的主要原因是,旧的更新失败导致您无法下载原型,因此,如果您尝试以任何Maven原型构建项目,则会失败

答案 19 :(得分:0)

创建文件delete_lastUpdated_and_remote.sh(使用\n):

#!/bin/bash
find $(cd $(dirname $0); pwd) -name "*.lastUpdated" -type f -print -exec rm -rf {} \;
find $(cd $(dirname $0); pwd) -name "_remote.repositories" -type f -print -exec rm -rf {} \;

将其放入本地 Maven 存储库中,例如 %userprofile%\.m2\repository~/.m2/repository,并运行它。

在 Windows 中,您还应该安装 Git 来运行 sh 文件。

我也在 jenkins 工作中使用它。

答案 20 :(得分:0)

删除存储库中的所有文件。

转到 C:\Users\DELL.m2\repository,选择所有文件并删除它。

然后转到项目,右键单击maven更新项目(Alt+F5)。它将下载存储库中的所有依赖文件。

答案 21 :(得分:0)

我收到以下插件的错误:

<groupId>org.codehaus.mojo</groupId>  
<artifactId>jaxb2-maven-plugin</artifactId>  
<version>2.5</version>  

我将标签版本修改为:

<version>2.5.0</version>  

然后在 Eclipse 中打开项目的上下文菜单并选择 Maven >“更新项目...”,确保在对话框中选中“更新依赖项”并点击“确定”按钮。

答案 22 :(得分:-1)

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

  1. 将依赖项复制到pom。

    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>2.5</version>
    </dependency>
    
  2. 右键单击您的项目

  3. 选择Maven
  4. 选择更新项目
  5. 选择快照/发布的强制更新

答案 23 :(得分:-2)

请确保文件夹.m2中的settings.XML文件首先有效 然后使用cmd

中的以下命令清理存储库
cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i