Linux maven不再使用新内核

Linux maven不再使用新内核,linux,networking,maven-2,linux-kernel,Linux,Networking,Maven 2,Linux Kernel,我对发生在我身上的事情有点失望。我不是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/

我对发生在我身上的事情有点失望。我不是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

这听起来像是一个bug(实际上是由JVM bug引起的)。建议的解决方法是在运行maven(和其他Java程序)时设置以下系统属性:

如果这样做有效,那么您可以在MAVEN_OPTS环境变量中设置它(例如在“
~/.mavenrc
”)中:


事实上,我的一个朋友发现了这是从哪里来的,这是一个java bug:

因此只需编辑/etc/sysctl.d/bindv6only.conf即可

#net.ipv6.bindv6only = 1
# Set to 0 due to java but (#560056)
net.ipv6.bindv6only = 0

你应该做这个把戏

很好!我在发帖时没有看到你的答案,认为-D解决方案比编辑系统配置更痛苦,但它也能工作!事实上,您的解决方案更好,因为java/maven是特定的!谢谢,我认为#563946是来自#560056:)的dup@claferri是的,它是一个dup,原因在#560056中报告,正如你提到的(JVM错误是)。+1为你。。我不知道你和maven相处了多少年,但你似乎已经找到了所有的答案there@c0mrade为了回答你的问题,我在2003年初开始使用Maven 0.8,所以我对这种动物确实有点熟悉。但这个答案更像谷歌fu,老实说,我的脑袋还是不会在网上爬行;)这个解决方案影响整个系统,而Pascal的解决方案是java/maven特有的,因此更好!
MAVEN_OPTS="-Djava.net.preferIPv4Stack=true"
#net.ipv6.bindv6only = 1
# Set to 0 due to java but (#560056)
net.ipv6.bindv6only = 0