ChatGPT解决这个技术问题 Extra ChatGPT

Maven 错误“传输失败...”

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

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

有任何想法吗?如果您能告诉我如何检查所有配置是否正常,那将会很有帮助...


s
sgsi

删除所有失败的下载:

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

对于窗户:

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

然后在eclipse中右键单击您的项目并选择Maven->“Update Project ...”,确保在结果对话框中选中“Update Dependencies”,然后单击OK。


在 Windows 中,我使用资源管理器对话框在 %USERPROFILE%\.m2 中搜索 *.lastUpdated,然后删除了 Eclipse 报告为有问题的文件。工作了一个款待!我确定您可以使用 findstr 或类似工具来完成此操作,但 GUI 可以正常工作。
在 Windows 中,我打开了一个 Windows 资源管理器并右键单击 .m2 -> Search... 。我将 *.lastUpdated 放在文件名中,并将“无法传输”放在“文件中的单词或短语”文本框中。
在 Windows 中,这些文件位于 <user-dir>/.m2/repository/org/example/myTool/1.01 内(你看到了诀窍)。只需手动删除它们(*.lastUpdated)并更新依赖项。
在 Windows 上的 Eclipse Luna(4.4 里程碑)下,我发现在删除 *.lastUpdated 后,我还需要让 m2eclipse 重新索引本地存储库(通过 Eclipse->Window->Preferences->Maven->User Settings:Local Repository: Reindex)
在拉了我几个小时的头发之后......最后这个解决方案在日食霓虹灯中对我有用......谢谢
N
NewUser

这在 Windows 中也适用于我。

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


还发现如果您对库的引用(语法或版本号)不正确,它们将不会下载。使用 Maven 在线存储库搜索工具确保您在 pom.xml 中正确引用了这些库。
这适用于窗户。非常感谢人!但这个问题有时会再次出现。我们有什么永久性的解决办法吗?
@iowatiger08 如果我也删除 lastupdated.properties 文件会怎样?
@garg10 可能我认为删除它们没什么大不了的,因为 Maven 会在下一次“更新”时重新填充它们。
@iowatiger08,如果我在 pom 文件中使用 [1.0.0,2.0.0) 之类的版本,则会出现错误,但我将版本更改为 1.6.10,错误就消失了。为什么会发生这种情况?
Z
Zhenya

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


D
Deepak Joy Cheenath

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

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


也许这很明显,但我想补充一点:在 maven 存储库中手动查找指定的 *.lastUpdated 文件(在我的情况下是肯定的)并删除它之后,必须在 Eclipse 中清理项目。
L
Lev Khomich

尝试执行

mvn -U clean

或 Run > Maven Clean and Maven > Update snapshots from project context menu in eclipse


h
huan le

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

这是我的解决方案 第一种方法: 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 > Update Project。 > 选择“强制更新快照/版本”。 =>> 错误已解决 5. 完成并解决后,我在步骤 2 中删除了依赖项。完毕


R
Robert Longson

这在 Windows 中对我有用:

找到 {user}/.m2/repository 在窗口右上角的搜索字段中,键入“.lastupdated”。 Windows 将查看目录中这些文件的所有子文件夹。删除所有 .lastupdated 文件。回到 Eclipse,右键单击项目并选择 Maven > Update Project。选择“强制更新快照/版本”。单击确定,依赖项将最终正确解决。


A
Antti Haapala -- Слава Україні

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


在终端上执行此操作后,前往 Eclipse,选择项目并“刷新项目”。这应该可以解决问题,而不会引入查找和删除“.lastUpdated”的困难。
A
Abel Morelos

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

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


L
Luki

我在带有 m2eclipse 的 Eclipse 3.6 中遇到了类似的问题。

无法计算构建计划:从 http://repo1.maven.org/maven2 传输 org.apache.maven.plugins:maven-resources-plugin:jar:2.4.3 失败已缓存在本地存储库中,直到更新后才会重新尝试解决中心间隔已过或强制更新。原始错误:无法从中央传输工件 org.apache.maven.plugins:maven-resources-plugin:jar:2.4.3 (http://repo1.maven.org/maven2): ConnectException project1 Unknown Maven Problem

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


s
smith.gt

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

对于每个具有“将不会重新尝试解决...”错误的 pom 项目:

在Eclipse中右键项目选择Maven->Disable Maven Nature 在Eclipse中右键项目选择Configure->Convert to Maven Project


M
Mohit Singh

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

如果您的项目包含一些外部或项目特定依赖项,那么您必须手动将其添加到位于 C:\Users\Mohit.Singh.m2\repository 文件夹的 M2 存储库文件夹中,然后您必须运行 mvn eclipse: eclipse 然后从项目文件夹中进行 mvn clean install 如果您没有任何 wxternal 或项目特定依赖项,那么您可以将项目作为现有 maven 项目导入到 eclipse 中,然后右键单击项目 --> 转到 maven --> 单击更新项目将出现一个窗口检查强制快照下载选项并点击确定


H
HansiRadhakrishnan

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

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

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


在 eclipse maven 首选项中添加 maven 安装
P
Pravat Panda

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


L
Lamine BA

对我来说,我只是在 POM.xml 文件中添加了波纹管 xml 代码。在我编辑**右键单击项目-> 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>

r
roi

代理的settings.xml?并且在 Eclipse 中有 maven global\local 配置文件,添加 settings.xml


你可以编辑你的答案并添加更多细节吗?举例说明要添加到 settings.xml 的内容以及可以在哪里找到它。另外,请记住这个问题是 10 个月大的。
R
R Tiwari

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


A
Avinash Pande

由于从 maven 存储库中删除了“maven-compiler-plugin 2.0.2”而发生上述错误。

对我来说,当我将 'maven-compiler-plugin' 降级到 2.0 或 2.0.1 时,上述错误得到解决。


V
VIKAS KESHARWANI

为 mac

我删除了所有旧的失败的 maven 下载,我的 mac 上还有几个版本的 maven

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

在那之后,我简单地更新了我的日食

帮助 -> 检查更新

问题为我解决了

此问题的主要原因是失败的旧更新不允许您下载原型,因此如果您尝试在任何 maven 原型中构建项目,它会失败


林万程

创建文件 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 文件。

我也在詹金斯的工作中使用它。


V
Vikas Gaurav

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

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

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


S
Shadyar

我收到以下插件的此错误:

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

我将标签版本修改为:

<version>2.5.0</version>  

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


J
Jorge Santos Neill

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

将依赖项复制到 pom.xml 中。 org.apache.maven maven-archiver 2.5 在你的项目上点击右键 选择Maven 选择更新项目 选择强制更新快照/发布


d
dush88c

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

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