Gradle - 权限被拒绝:连接

3

当Gradle检查Maven依赖项时,我收到以下错误:

Error transferring file: Permission denied: connect

我发现这个问题可能与JDK 1.7中与IPv6相关的已知 bug有关。解决方法是在Java VM选项中设置-Djava.net.preferIPv4Stack=true
我已经这样做了,但仍然收到相同的错误。我尝试设置了所有可能的环境参数,包括MAVEN_OPTS、GRADLE_OPTS、_JPI_VM_OPTIONS、JAVA_OPTS等等。似乎没有任何作用。我是否忽略了一些简单的东西?

你能够从浏览器连接到http://repo1.maven.org吗?可能是因为你在一个阻止访问的网络设备后面。 - Tim O'Brien
3个回答

1
我尝试在使用Minecraft Forge时从命令行中使用gradle时使用-Djava.net.preferIPv4Stack=true。当它获取依赖项和其他文件时,会抛出permission denied: connect错误。
我的解决方法是查找配置文件(.ini)并添加-Djava.net.preferIPv4Stack=true,或者将其用作CLI中的参数,在这种情况下: gradlew cleancache --refresh-dependencies -Djava.net.preferIPv4Stack=true setupDecompWorkspace eclipse
它对我有效。

0

那听起来更像是针对特定仓库缺少凭据。在Maven中,您需要在settings.xml文件中设置这些信息。

您需要对给定的仓库进行身份验证。

repositories {
    maven {
        credentials {
            username 'user'
            password 'password'
        }
        url "http://repo.mycompany.com/maven2"
    }
}

我非常肯定那不是问题所在...... 所有这些设置都由我们的构建过程控制。更进一步证明我的观点,即这是一个IPv6 / VPN问题,是我在网上运行相同构建的计算机没有任何问题。但是尝试通过VPN构建会提示“连接被拒绝”。相同的代码。 - user1822604

0

在Windows中,通过在Windows开始菜单中搜索它来打开“网络和共享中心”。

它将列出LAN连接和VPN。

进入VPN。

点击连接。

点击属性按钮,取消选择IPv6以禁用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接