无法将工件org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1从中央传输到中央(http://repo1.maven.org/maven2)


76

我在SpringSource Tool Suite中创建了一个新的maven项目。我在新的Maven项目中遇到此错误。

无法从http://repo1.maven.org/maven2传输org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 缓存在本地存储库中,直到更新间隔才会重新尝试解析已用完或已强制更新。原始错误:无法将文物org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1从中央传输到中央(http://repo1.maven.org/maven2):连接超时

pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                             http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.test.app</groupId>
  <artifactId>TestApp</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>TestApp</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

Settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <pluginGroups>
  </pluginGroups>
 <proxies>
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>user</username>
      <password>pass</password>
      <host>ip</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>    
  </proxies> 
  <servers>  
  </servers>
    <mirrors>   
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo1.maven.org/maven2/</url>
    </mirror>    
  </mirrors>  
<profiles>
 </profiles>
</settings>

请注意,我能够构建它.IDE内的pom.xml中显示错误。任何解决方案?


9
您在代理后面吗?
山姆R.13年

您需要设置代理吗?
德里克(Derek)

2
您确定您没有代理吗?
2013年

1
我们展示的输出mvn help:effective-settings,以及你的pom.xml
carlspring

1
从IDE(STS)运行它
Sajith 2013年

Answers:


66

通过使用以下内容简化操作settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              http://maven.apache.org/xsd/settings-1.0.0.xsd">

 <proxies>
    <proxy>
      <id>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>user</username>  <!-- Put your username here -->
      <password>pass</password>  <!-- Put your password here -->
      <host>123.45.6.78</host>   <!-- Put the IP address of your proxy server here -->
      <port>80</port>            <!-- Put your proxy server's port number here -->
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts> <!-- Do not use this setting unless you know what you're doing. -->
    </proxy>    
  </proxies> 
</settings>

在Linux / Unix下,将其放在下~/.m2/settings.xml。在Windows下,将其放在c:\documents and settings\youruser\.m2\settings.xml或下c:\users\youruser\.m2\settings.xml

除非您真的知道它们的用途,否则不需要<mirrors/><profiles/><settings/>部分。


感谢您的帮助。但是仍然会出现相同的错误。请注意,我能够构建它。错误仅在IDE中。
2013年

1
好吧。在您的IDE中,确保它指向同一settings.xml文件,因为您的代理设置显然没有被您的IDE接收。
carlspring

当我在办公室重启Eclipse时,我遇到了同样的问题。当我在家工作时,一切都很好。因此,它与公司网络的代理设置有关。按照描述的方式创建settings.xml文件后,它的工作原理就像是魅力。
Gopal Bairwa'2

58

当我更新maven并在Eclipse中选中“强制更新快照/版本”选项时,这已为我解决。这将清除所有错误。因此,右键单击项目-> Maven- >更新项目然后检查以上选项->确定。希望对您有帮助。


1
谢谢它为我工作。我将eclipse从一台机器复制到另一台机器,而maven本地缓存似乎是它背后的问题。当我更新了sanpshot时,它对我有用。
Manoj

2
在我的elversse(光子)版本
中看

有时代理的地址已更改,我们不知道。
威利·马克恩德

1
我已经遇到了这个问题:Failure to transfer xalan:xalan:jar:2.7.1 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 xalan:xalan:jar:2.7.1 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org。但是解决了Force Update of Snapshots/Releases
Yash

26

看来您的Maven无法连接到http://repo1.maven.org/maven2上的Maven存储库。

如果您正在使用代理并且可以使用浏览器访问链接,则需要对Spring Source Tool Suite(如果在套件中运行)或Maven应用相同的设置。

对于Maven代理设置settings.xml,在.m2目录中使用以下详细信息创建一个

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <proxies>
    <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>PROXY</host>
      <port>3120</port>
      <nonProxyHosts>maven</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

如果您不使用代理,并且可以使用浏览器访问链接,请删除上述所有代理设置。


6

对于第一个错误,您只需清除本地存储库高速缓存以强制其从主存储库下载,而不用检查本地存储库。

对于第二个错误,如果您落后于代理服务器,则应以这种方式配置它。配置代理服务器,否则现在遇到网络问题。


1
NP。您是否在POM或中看到错误Maven console
Sam R.

1
pom.xml中显示错误。<project xmlns =“ maven.apache.org/POM/4.0.0 ” xmlns:xsi =“ w3.org/2001/XMLSchema-instance ” xsi:schemaLocation =“ maven.apache.org /POM/4.0.0 maven.apache.org/xsd/maven-4.0.0.xsd “>
Sajith

5

对我来说,解决方案只是删除了特定的文件夹,它从 ~/.m2/repository/org/hsqldb/

删除hsqldb文件夹后,我已经构建了项目,一切都很好。


这也对我有用。我正在使用STS。没有其他工作像Maven-update-force ...或settings.xml。在我的情况下,报告的错误是针对maven-surefire-plugin的。我删除了位于.m2 / repository / apache / org / maven / plugins / maven-plugins的文件夹。之后,我清理了项目,并删除了pom.xml中的错误
Ankit 2015年


3

帮助我的是@carlspring的建议(创建settings.xml以配置您的http代理):

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              http://maven.apache.org/xsd/settings-1.0.0.xsd">

 <proxies>
    <proxy>
      <id>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>user</username>  <!-- Put your username here -->
      <password>pass</password>  <!-- Put your password here -->
      <host>123.45.6.78</host>   <!-- Put the IP address of your proxy server here -->
      <port>80</port>            <!-- Put your proxy server's port number here -->
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts> <!-- Do not use this setting unless you know what you're doing. -->
    </proxy>    
  </proxies> 
</settings>

然后按照@Peter T的建议刷新Eclipse项目专家:

Eclipse中的“强制更新快照/发布”。这将清除所有错误。因此,右键单击项目-> Maven->更新项目,然后检查以上选项->确定。希望对您有帮助。


2

看来我出现了网络问题。在您这一边,或者在Maven方面,或者在中间的任何地方。请稍后再试。

如果错误是永久性的,请检查您的网络设置。如果您位于代理之后,则〜/ .m2 / settings.xml中需要以下内容:

<proxies>
    <proxy>
        <id>optional</id>
        <active>true</active>
        <protocol>http</protocol>
        <username>proxyuser</username>
        <password>proxypass</password>
        <host>proxy.host.net</host>
        <port>80</port>
        <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
</proxies>


2

一段时间后,我开始在机器上使用Maven。收到此错误:Could not transfer artifact from/to central (https://repo.maven.apache.org/maven2) No such file or directory 清理〜/ .m2 /存储库目录。不再遇到这个问题


1
是的,记得有同样的问题。我刚刚删除了有问题的导入,并重新启动了Eclipse以使其再次起作用。
Tobliug

2

当使用的Java旧版本无法与现在所需的HTTPS协议正确通信时,也会发生这种情况。撰写本文时,版本8及更高版本应该可以使用。


2
节省了我一些时间。谢谢!
亚瑟

1

如果您在Windows操作系统中并且不需要任何代理,则删除整个代理设置

<proxies>
    <proxy>
   ..................
    </proxy>    
  </proxies> 

并替换为

<proxies/> 

然后做一个Maven干净的构建


1
  1. 更新Maven项目并选中“强制更新快照/发布”选项,它将删除错误。
  2. 如果没有,请Maven清理并安装Project。
  3. 仍然没有消除错误,请重复步骤1。

它为我工作:)


1

我们在公司一级设置了代理。

在Internet Explorer中禁用代理后,此问题已解决(看上去然后在“系统”级别上被禁用),因此所有其他浏览器也将选择此更改。

现在我可以从CMD提示符下发出MVN命令,而例如

“下载:https : //repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom

...导致“构建失败”

在我们的案例中,每天需要在IE中禁用代理,因为在每个系统启动时都会对其进行设置


1

通过以下步骤解决了此问题-

  1. 转到本地m2存储库,然后找到目录org / apache / maven / plugins / maven-surefire-plugin。
  2. 删除有问题的版本。
  3. maven更新项目,然后再次下载。

1

对我来说,File > Settings > ... > BuildTools > Maven > Work Offline[■]


1

在IntelliJ上,转到“首选项”->“构建,执行,部署”->“构建工具”->“ Maven”。启用“始终更新快照”复选框并应用并保存更改,然后执行mvn clean install


1

尝试在回购网址中使用https:https://repo1.maven.org/maven2

如果您使用jdk1.7或更高版本,并且您的网络将协议限制为较新的TLS版本,请启用TLS1.2: -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2


0

如果您没有任何代理,但仍然收到连接超时错误,请检查防火墙设置/防病毒。有时防火墙可能会阻止任何工具(例如Eclipse / STS等)的连接。


0

您可以尝试设置代理设置:

文件->设置->外观->系统设置-> Http代理->自动检测

然后提供代理URL。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.