无法传输工件org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from / to central(http://repo1.maven.org/maven2)
我在SpringSource Tool Suite中创build了一个新的Maven项目。 我在一个新的Maven项目中得到这个错误。
未能将http://repo1.maven.org/maven2中的org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1caching在本地存储库中,直到更新间隔才会重新parsing中央已经过去或更新被迫。 原始错误:无法传输工件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>
请不要我能够biuld它。错误显示在IDE内的pom.xml。任何解决scheme?
通过使用以下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/>
部分,除非你真的知道他们是干什么的。
当我更新maven并在Eclipse中检查选项“强制更新快照/释放”时,我已经解决了这个问题。 这清除了所有的错误。 所以右键单击项目 – > Maven – >更新项目,然后检查上面的选项 – >确定。 希望这可以帮助你。
看来你的maven无法连接到maven仓库http://repo1.maven.org/maven2 。
如果您使用的是代理服务器,并且可以通过浏览器访问该链接,则需要将相同的设置应用于SpringSource Tool Suite(如果在套件中运行)或Maven。
对于Maven代理设置,请在.m2目录中创build一个settings.xml,其中包含以下详细信息
<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>
如果您没有使用代理服务器,并且可以通过浏览器访问该链接,请删除上述所有代理设置。
对于第一个错误,您可以简单地清除本地存储库caching,以强制从主存储库下载,而不是检查本地存储库。
对于第二个错误,如果你在代理之后,你应该这样configuration它configuration一个代理,否则你现在有一个networking问题。
对我来说,解决scheme只是从~/.m2/repository/org/hsqldb/
删除hsqldb
文件夹后,我已经build立了项目,一切都很好。
帮助我的是@carlspring的build议(创build一个settings.xml来configuration你的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的build议刷新eclipse项目maven:
在Eclipse中“强制更新快照/发布”。 这清除了所有的错误。 所以右键单击项目 – > Maven – >更新项目,然后检查上面的选项 – >确定。 希望这可以帮助你。
看来我有一个networking问题。 在你身边,或者在Maven身边,或者在中间的任何地方。 稍后再试。
如果错误是永久性的,请检查您的networking设置。 如果你在一个代理之后,你需要在你的〜/ .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>
我强烈build议使用Maven Repository Manager,如Nexus。 它将帮助您通过Maven获得稳定和可重复的构build。 由于Repository Manager通常在您的LAN中,因此您不必configuration代理设置,但需要定义一些其他configuration:
http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html
如果以上都没有工作然后尝试去这个问题和答案: Maven错误“无法传输…”
并删除您的.lastUpdated
文件。
我第一次开始在我的机器上使用maven。 得到这个错误: Could not transfer artifact from/to central (https://repo.maven.apache.org/maven2) No such file or directory
清理〜/ .m2 / repository目录。 不要再遇到这个问题
- 更新Maven项目并检查选项“强制更新快照/发布”,它将删除错误。
- 如果没有,Maven将清理并安装该项目。
- 仍然错误不删除,重复步骤1。
它为我工作:)
如果你在Windows操作系统,不需要任何代理,然后删除整个代理设置
<proxies> <proxy> .................. </proxy> </proxies>
并replace为
<proxies/>
然后做一个maven干净的构build
这个问题是一个networking问题。
-
转到本地存储库,findorg / apache / maven / plugins / maven-surefire-plugin目录。
-
删除它的相应版本。
-
maven更新项目,然后再次下载。
如果您不在任何代理之后,仍然出现连接超时错误,请检查防火墙设置/防病毒软件。 有时防火墙可能会阻止任何工具(如Eclipse / STS等)的连接。
我们在公司层面设置代理。
在Internet Explorer中禁用代理之后,这个问题就解决了(看起来像在系统级别上被禁用了),所以其他浏览器也会select这个改变。
现在我可以从CMD提示符发出MVN命令,而我没有问题,例如
“正在下载: https : //repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom ”
…这是造成“build设失败”
在我们的情况下,在IE中禁用代理需要每天完成,因为在每个系统启动它被设置