我对发生的事情感到有点失望。我不是maven专家(即我只是按照我的说法键入mvn clean install)但是当我在我的debian机器上安装了一个新内核时,maven似乎再也无法工作了:
在旧内核(2.6.26-1-amd64)上,它可以很好地下载所有依赖项。
在新内核(2.6.32-trunk-amd64)上,无法通过“网络无法访问”消息下载依赖项:
[INFO] Scanning for projects...
Downloading: http://repo1.maven.org/maven2/org/objectweb/fractal/parent/2.0/parent-2.0.pom
[WARNING] Unable to get resource 'org.objectweb.fractal:parent:pom:2.0' from repository central (http://repo1.maven.org/maven2): Error transferring file: Network is unreachable
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: null:cecilia:pom:2.2-SNAPSHOT
Reason: Cannot find parent: org.objectweb.fractal:parent for project: null:cecilia:pom:2.2-SNAPSHOT for project null:cecilia:pom:2.2-SNAPSHOT
当然,网络似乎完全可以访问,因为这是我遇到的网络问题。
mvn --version
2.2.1
任何帮助都会很棒! THX
答案 0 :(得分:7)
这听起来像bug #563946(实际上是由JVM错误引起的)。建议的解决方法是在运行maven(和其他Java程序)时设置以下系统属性:
-Djava.net.preferIPv4Stack=true
如果这样可行,那么您可以在MAVEN_OPTS环境变量中设置它(例如在“~/.mavenrc
”中):
MAVEN_OPTS="-Djava.net.preferIPv4Stack=true"
答案 1 :(得分:3)
事实上我的一个朋友发现了它的来源,这是一个java bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560056
如此简单地编辑/etc/sysctl.d/bindv6only.conf
#net.ipv6.bindv6only = 1
# Set to 0 due to java but (#560056)
net.ipv6.bindv6only = 0
应该做的伎俩!