Could not transfer artifact org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from/to central (http://repo1.maven.org/maven2)

JavaMaven

Java Problem Overview


I have created a new maven project in SpringSource Tool Suite. I am getting this error in my new maven project.

> Failure to transfer > org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from > http://repo1.maven.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.plugins:maven-surefire-plugin:pom:2.7.1 from/to > central (http://repo1.maven.org/maven2): Connect times out

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>

Please note that I am able to build it.Error is showing in pom.xml inside IDE .Any solutions?

Java Solutions


Solution 1 - Java

Simplify things by using the following 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>

Under Linux/Unix, place it under ~/.m2/settings.xml. Under Windows place it under c:\documents and settings\youruser\.m2\settings.xml or c:\users\youruser\.m2\settings.xml.

You don't need the <mirrors/>, <profiles/> and <settings/> sections, unless you really know what they're for.

Solution 2 - Java

This is solved for me when I update maven and check the option "Force update of Snapshots/Releases" in Eclipse. this clears all errors. So right click on project -> Maven -> update project, then check the above option -> Ok. Hope this helps you.

Addition : uncheck "Refresh workspace resources from local filesystem", it's working for me.

Solution 3 - Java

It seems like your Maven is unable to connect to Maven repository at http://repo1.maven.org/maven2.

If you are using proxy and can access the link with browser the same settings need to be applied to Spring Source Tool Suite (if you are running within suite) or Maven.

For Maven proxy setting create a settings.xml in the .m2 directory with following details

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

If you are not using proxy and can access the link with browser, remove any proxy settings described above.

Solution 4 - Java

For the first error you can simply clear your local repository cache to force it download from main repository rather than checking the local one.

For second error, if you are behind proxy you should configure it this way Configuring a proxy otherwise you have a network problem now.

Solution 5 - Java

To me the solution was just deleted the specific folder which is giving the error from ~/.m2/repository/org/hsqldb/

After deleting the hsqldb folder I have build the project and everything is fine.

Solution 6 - Java

What helped me were the suggestions by @carlspring (create a settings.xml to configure your http proxy):

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

AND then refreshing eclipse project maven as suggested by @Peter T :

"Force update of Snapshots/Releases" in Eclipse. this clears all errors. So right click on project -> Maven -> update project, then check the above option -> Ok. Hope this helps you.

Solution 7 - Java

It seems me there was a network issue. On your side, or on Maven side, or anywhere in the middle. Just try again later.

If the error is permanent, check your network settings. If you are behind a proxy, you need the following in you ~/.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>

Solution 8 - Java

Try to use https in repo url: https://repo1.maven.org/maven2</url>

If you use jdk1.7 or above and your network restrict protocols to newer TLS version then enable TLS1.2: -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2

Solution 9 - Java

I strongly recommend to use a Maven Repository Manager such as Nexus. It will help you to get stable and reproducible builds with Maven. As the Repository Manager is usually in your LAN, you don't have to configure the proxy settings, but you need to define some other configurations:

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

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

Solution 10 - Java

I started using maven on my machine first time in while. Got this error: Could not transfer artifact from/to central (https://repo.maven.apache.org/maven2) No such file or directory Cleaned up ~/.m2/repository directory. Don't experience this problem again

Solution 11 - Java

If none of the above works then try and go this question and answer: https://stackoverflow.com/questions/5074063/maven-error-failure-to-transfer

and delete your .lastUpdated files.

Solution 12 - Java

  1. Update Maven Project and check the option "Force update of Snapshots/Releases", it will remove errors.
  2. If not, Maven clean and install the Project.
  3. Still the error isn't removed, repeat step 1.

It worked for me :)

Solution 13 - Java

This can also happen when using an old version of Java that isn't capable of communicating properly with the HTTPS protocol that is now required. Version 8 and above should work as of the time writing this.

Solution 14 - Java

If you are in windows os and dont need any proxy then delete the whole proxy setting

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

and replace with

<proxies/> 

and then do a maven clean build

Solution 15 - Java

This problem was solved by following steps -

  1. Go to the local m2 repository and find the directory org/apache/maven/plugins/maven-surefire-plugin.
  2. Delete the problematic version.
  3. maven update the project, then download it again.

Solution 16 - Java

We have the Proxy set on company level.

After disabling proxy in Internet Explorer this issue was solved (looks like it is then disabled on 'system' level), so all other browsers will pick this change too.

Now I can issue MVN commands from CMD prompt and I have no problem while e.g.

"Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom"

...that was causing 'Build failure'

Disabling proxy in IE needs to be done on daily basis in our case, because on each system start it gets set

Solution 17 - Java

For me it was File > Settings > ... > BuildTools > Maven > Work Offline[■]

Solution 18 - Java

On IntelliJ go to Preference -> Build, Execution, Deployment -> Build Tools -> Maven. Turn on the checkbox for "Always update snapshots" apply and save changes then do mvn clean install

Solution 19 - Java

You can try to set the proxy settings:

> File -> Settings -> Appearance -> System Settings -> Http proxy -> > Auto Detect

And then provide the proxy URL.

Solution 20 - Java

If you are not behind any proxy and still getting connection timeout error, please check firewall settings/ antivirus. Sometimes firewall may block the connectivity from any tool (like Eclipse/STS etc..)

Solution 21 - Java

I changed the java version from 1.7 to 1.8 and it worked

Solution 22 - Java

The issue is that since maven 3.8.1, they stopped tranferring via HTTP. The simplest solution that worked for me is to simply go to the pom.xml file and under the repository that you are importing, simply replace HTTP with HTTPS. It should work for you.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSajithView Question on Stackoverflow
Solution 1 - JavacarlspringView Answer on Stackoverflow
Solution 2 - JavaPeter T.View Answer on Stackoverflow
Solution 3 - JavaUday ShankarView Answer on Stackoverflow
Solution 4 - JavaSam R.View Answer on Stackoverflow
Solution 5 - JavasmaliView Answer on Stackoverflow
Solution 6 - JavavsmView Answer on Stackoverflow
Solution 7 - JavaÉtienne MiretView Answer on Stackoverflow
Solution 8 - JavaGlaucioView Answer on Stackoverflow
Solution 9 - JavaPuceView Answer on Stackoverflow
Solution 10 - JavathepolinaView Answer on Stackoverflow
Solution 11 - JavaiaforekView Answer on Stackoverflow
Solution 12 - JavaCaffeine CoderView Answer on Stackoverflow
Solution 13 - JavaGoddardView Answer on Stackoverflow
Solution 14 - Javauser3123372View Answer on Stackoverflow
Solution 15 - Javauser7790949View Answer on Stackoverflow
Solution 16 - JavaregView Answer on Stackoverflow
Solution 17 - JavaLiNKeRView Answer on Stackoverflow
Solution 18 - JavaMegView Answer on Stackoverflow
Solution 19 - JavaiQuestProgrammerView Answer on Stackoverflow
Solution 20 - JavaShuvankar SarkarView Answer on Stackoverflow
Solution 21 - JavaJuanCarlos RomeroView Answer on Stackoverflow
Solution 22 - JavaHassan ShahzadView Answer on Stackoverflow