You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行gradlew setupDecompWorkspace创建MC Forge工作区遇认证错误求助

问题描述

我尝试执行命令gradlew setupDecompWorkspace创建MC模组开发工作区,已从Forge官网下载1.8.9-11.15.1.2318版本的MDK压缩包并解压,执行命令后返回以下错误:

A problem occurred configuring root project 'MCMods'.
> Could not resolve all dependencies for configuration ':classpath'.
   > Could not resolve net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT.
     Required by:
         :MCMods:unspecified
      > Could not resolve net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT.
         > Unable to load Maven meta-data from http://files.minecraftforge.net/maven/net/minecraftforge/gradle/ForgeGradle/2.1-SNAPSHOT/maven-metadata.xml.
            > Could not GET 'http://files.minecraftforge.net/maven/net/minecraftforge/gradle/ForgeGradle/2.1-SNAPSHOT/maven-metadata.xml'.
               > peer not authenticated
      > Could not resolve net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT.
         > Unable to load Maven meta-data from https://jcenter.bintray.com/net/minecraftforge/gradle/ForgeGradle/2.1-SNAPSHOT/maven-metadata.xml.
            > Could not GET 'https://jcenter.bintray.com/net/minecraftforge/gradle/ForgeGradle/2.1-SNAPSHOT/maven-metadata.xml'.
               > peer not authenticated

我已经安装Java SE Development Kit 8u5并配置了%JAVA_HOME%和系统Path环境变量,请问该如何解决这个问题?

我的build.gradle配置文件如下:

// For those who want the bleeding edge
buildscript {
    repositories {
        jcenter()
        maven {
            name = "forge"
            url = "http://files.minecraftforge.net/maven"
        }
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
    }
}
apply plugin: 'net.minecraftforge.gradle.forge'

/*
// for people who want stable - not yet functional for MC 1.8.8 - we require the forgegradle 2.1 snapshot
plugins {
    id "net.minecraftforge.gradle.forge" version "2.0.2"
}
*/
version = "1.0"
group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "modid"

minecraft {
    version = "1.8.9-11.15.1.2318-1.8.9"
    runDir = "run"
    
    // the mappings can be changed at any time, and must be in the following format.
    // snapshot_YYYYMMDD   snapshot are built nightly.
    // stable_#            stables are built at the discretion of the MCP team.
    // Use non-default mappings at your own risk. they may not allways work.
    // simply re-run your setup task after changing the mappings to update your workspace.
    mappings = "stable_20"
    // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
}

dependencies {
    // you may put jars on which you depend on in ./libs
    // or you may define them like so..
    //compile "some.group:artifact:version:classifier"
    //compile "some.group:artifact:version"
      
    // real examples
    //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev'  // adds buildcraft to the dev env
    //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env

    // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime.
    //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev'

    // the deobf configurations:  'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided,
    // except that these dependencies get remapped to your current MCP mappings
    //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev'
    //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev'

    // for more info...
    // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
    // http://www.gradle.org/docs/current/userguide/dependency_management.html

}

processResources
{
    // this will ensure that this task is redone when the versions change.
    inputs.property "version", project.version
    inputs.property "mcversion", project.minecraft.version

    // replace stuff in mcmod.info, nothing else
    from(sourceSets.main.resources.srcDirs) {
        include 'mcmod.info'
                
        // replace version and mcversion
        expand 'version':project.version, 'mcversion':project.minecraft.version
    }
        
    // copy everything else, thats not the mcmod.info
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }
}
解决方案

1. 升级JDK版本

peer not authenticated错误核心原因是JDK 8u5版本过旧,内置的根证书库已失效,无法验证当前HTTPS服务器的证书。直接升级JDK 8到最新补丁版本(如8u391),新版本会包含更新的信任证书,可解决SSL验证问题。

2. 替换失效仓库并修改协议

原配置中的jcenter()已停止服务,且Forge仓库使用HTTP协议存在安全风险,修改buildscript部分的仓库配置:

buildscript {
    repositories {
        mavenCentral()
        maven {
            name = "forge"
            url = "https://maven.minecraftforge.net/"
        }
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
    }
}
  • 用mavenCentral()替代废弃的jcenter()
  • 将Forge仓库URL改为HTTPS协议的https://maven.minecraftforge.net/

3. 清理Gradle缓存

缓存的失效依赖可能导致问题,执行以下命令清理后重新运行:

gradlew clean
gradlew setupDecompWorkspace --refresh-dependencies

4. 临时跳过SSL验证(不推荐)

若以上方法无法快速生效,可临时添加参数让Gradle跳过SSL验证,命令改为:

gradlew setupDecompWorkspace -Dorg.gradle.jvmargs="-Djavax.net.ssl.trustStore=$JAVA_HOME/jre/lib/security/cacerts -Djavax.net.ssl.trustStorePassword=changeit -Dssl.SocketFactory.provider=com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl"

注意:此方法降低安全性,仅作为临时应急方案,后续仍需升级JDK或修复证书问题。


内容的提问来源于stack exchange,提问作者Karafakeu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 17:10:19