代码之家  ›  专栏  ›  技术社区  ›  claf

maven不再使用新内核

  •  2
  • claf  · 技术社区  · 16 年前

    我对发生在我身上的事情有点失望。我不是maven专家(即我只是按照别人告诉我的那样键入mvn clean install),但当我在debian机器上安装新内核时,maven似乎不再工作了:

    在新内核(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
    

    2 回复  |  直到 16 年前
        1
  •  7
  •   Pascal Thivent    16 年前

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

    -Djava.net.preferIPv4Stack=true
    

    ~/.mavenrc "):

    MAVEN_OPTS="-Djava.net.preferIPv4Stack=true"
    
        2
  •  3
  •   claf    16 年前

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

    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560056

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

    你应该做这个把戏!