无法传输工件org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from / to central(http://repo1.maven.org/maven2)

时间:2013-03-11 08:50:40

标签: java maven

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

  

未能转移   org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1来自   http://repo1.maven.org/maven2缓存在本地存储库中,   直到更新间隔为止,才会重新尝试解析   中心已经过去或强制更新。原始错误:不能   转移神器   org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from / to   central(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中显示错误。任何解决方案?

20 个答案:

答案 0 :(得分:48)

使用以下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.xmlc:\users\youruser\.m2\settings.xml

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

答案 1 :(得分:44)

当我更新maven并检查选项&#34; 强制更新快照/版本&#34;在Eclipse中。这清除了所有错误。 所以右键点击项目 - &gt; Maven - &gt; 更新项目然后检查上述选项 - &gt; 确定即可。 希望这会对你有所帮助。

答案 2 :(得分:22)

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

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

答案 3 :(得分:5)

对于第一个错误,您可以简单地清除本地存储库缓存以强制从主存储库下载而不是检查本地存储库缓存。

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

答案 4 :(得分:5)

对我来说,解决方案刚刚删除了来自~/.m2/repository/org/hsqldb/

的错误的特定文件夹

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

答案 5 :(得分:2)

我强烈建议您使用Nexus等Maven资源库管理器。它将帮助您使用Maven获得稳定且可重现的构建。由于Repository Manager通常位于您的LAN中,您不必配置代理设置,但您需要定义其他一些配置:

http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html

http://maven.apache.org/repository-management.html

答案 6 :(得分: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>

答案 7 :(得分:2)

如果以上都不起作用,那么试试这个问题并回答: Maven error "Failure to transfer..."

并删除.lastUpdated个文件。

答案 8 :(得分:2)

我第一次开始在我的机器上使用maven。出现此错误:Could not transfer artifact from/to central (https://repo.maven.apache.org/maven2) No such file or directory 清理了〜/ .m2 / repository目录。再也不会遇到这个问题了

答案 9 :(得分:1)

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

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

答案 10 :(得分:1)

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

答案 11 :(得分:1)

对我来说是File > Settings > ... > {{1} } > BuildTools > Maven

答案 12 :(得分: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中禁用代理需要每天完成,因为在每个系统启动时它都会被设置

答案 13 :(得分:1)

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

  1. 转到本地m2存储库并找到目录 组织/阿帕奇/行家/插件/ Maven的万无一失的插件。
  2. 删除有问题的版本。
  3. maven更新项目,然后再次下载。

答案 14 :(得分:1)

  1. 更新Maven项目并选中选项&#34;强制更新快照/版本&#34;,它将删除错误。
  2. 如果没有,Maven清理并安装项目。
  3. 仍然没有删除错误,请重复步骤1.
  4. 它对我有用:)

答案 15 :(得分:1)

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

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

并替换为

<proxies/> 

然后做一个maven clean build

答案 16 :(得分:0)

如果您不在任何代理后面并且仍然出现连接超时错误,请检查防火墙设置/防病毒软件。有时防火墙可能阻止来自任何工具(如Eclipse / STS等)的连接。

答案 17 :(得分:0)

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

答案 18 :(得分:0)

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

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

然后提供代理URL。

答案 19 :(得分:-3)

首先,您应该检查计算机上是否已安装Maven工具!!!