【问题标题】:build.gradle can't compile (1.16.5 Forge MDK)build.gradle 无法编译(1.16.5 Forge MDK)
【发布时间】:2021-08-30 20:18:32
【问题描述】:

我下载了 Forge MDK 1.16.5,README 告诉我运行“gradlew genEclipseRuns”

这里是错误信息:

C:\Users\tjgla\OneDrive\Documents\forge-1.16.5-36.1.31-mdk>gradlew genEclipseRuns 为了遵守此构建的 JVM 设置,将分叉一个单一用途的守护进程。见https://docs.gradle.org/6.9/userguide/gradle_daemon.html#sec:disabling_the_daemon。 守护进程将在构建结束时停止

FAILURE:构建失败并出现异常。

  • 在哪里: 构建文件 'C:\Users\tjgla\OneDrive\Documents\forge-1.16.5-36.1.31-mdk\build.gradle' 行:152

  • 出了什么问题: 无法编译构建文件“C:\Users\tjgla\OneDrive\Documents\forge-1.16.5-36.1.31-mdk\build.gradle”。

启动失败: 构建文件 'C:\Users\tjgla\OneDrive\Documents\forge-1.16.5-36.1.31-mdk\build.gradle':152:意外令牌:T @ 第 152 行,第 71 列。 new Date().format('yyyy-MM-dd'T'HH:mm:ss ^

1 个错误

  • 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

  • 通过https://help.gradle.org获得更多帮助

4 秒内构建失败

这里是“build.gradle”:

    repositories {
        maven { url = 'https://maven.minecraftforge.net' }
        mavenCentral()
    }
    dependencies {
        classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '4.1.+', changing: true
    }
}
apply plugin: 'net.minecraftforge.gradle'
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
apply plugin: 'eclipse'
apply plugin: 'maven-publish'

version = '1.0'
group = 'com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'modid'

java.toolchain.languageVersion = JavaLanguageVersion.of(8) // Mojang ships Java 8 to end users, so your mod should target Java 8.

println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
minecraft {
    // The mappings can be changed at any time, and must be in the following format.
    // Channel:   Version:
    // snapshot   YYYYMMDD   Snapshot are built nightly.
    // stable     #          Stables are built at the discretion of the MCP team.
    // official   MCVersion  Official field/method names from Mojang mapping files
    //
    // You must be aware of the Mojang license when using the 'official' mappings.
    // See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md
    //
    // Use non-default mappings at your own risk. they may not always work.
    // Simply re-run your setup task after changing the mappings to update your workspace.
    mappings channel: 'official', version: '1.16.5'
    // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
    
    // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')

    // Default run configurations.
    // These can be tweaked, removed, or duplicated as needed.
    runs {
        client {
            workingDirectory project.file('run')

            // Recommended logging data for a userdev environment
            // The markers can be changed as needed.
            // 'SCAN': For mods scan.
            // 'REGISTRIES': For firing of registry events.
            // 'REGISTRYDUMP': For getting the contents of all registries.
            property 'forge.logging.markers', 'REGISTRIES'

            // Recommended logging level for the console
            // You can set various levels here.
            // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
            property 'forge.logging.console.level', 'debug'

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }

        server {
            workingDirectory project.file('run')

            // Recommended logging data for a userdev environment
            // The markers can be changed as needed.
            // 'SCAN': For mods scan.
            // 'REGISTRIES': For firing of registry events.
            // 'REGISTRYDUMP': For getting the contents of all registries.
            property 'forge.logging.markers', 'REGISTRIES'

            // Recommended logging level for the console
            // You can set various levels here.
            // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
            property 'forge.logging.console.level', 'debug'

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }

        data {
            workingDirectory project.file('run')

            // Recommended logging data for a userdev environment
            // The markers can be changed as needed.
            // 'SCAN': For mods scan.
            // 'REGISTRIES': For firing of registry events.
            // 'REGISTRYDUMP': For getting the contents of all registries.
            property 'forge.logging.markers', 'REGISTRIES'

            // Recommended logging level for the console
            // You can set various levels here.
            // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
            property 'forge.logging.console.level', 'debug'

            // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
            args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }
    }
}

// Include resources generated by data generators.
sourceSets.main.resources { srcDir 'src/generated/resources' }

dependencies {
    // Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed
    // that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied.
    // The userdev artifact is a special name and will get all sorts of transformations applied to it.
    minecraft 'net.minecraftforge:forge:1.16.5-36.1.31'

    // 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'

    // These dependencies get remapped to your current MCP mappings
    // deobf '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

}

// Example for how to get properties into the manifest for reading by the runtime..
jar {
    manifest {
        attributes([
            'Specification-Title': 'examplemod',
            'Specification-Vendor': 'examplemodsareus',
            'Specification-Version': '1', // We are version 1 of ourselves
            'Implementation-Title': project.name,
            'Implementation-Version': '${version}',
            'Implementation-Vendor' :'examplemodsareus',
            'Implementation-Timestamp': new Date().format('yyyy-MM-dd'T'HH:mm:ssZ')
        ])
    }
}

// Example configuration to allow publishing using the maven-publish task
// This is the preferred method to reobfuscate your jar file
jar.finalizedBy('reobfJar') 
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing
//publish.dependsOn('reobfJar')

publishing {
    publications {
        mavenJava(MavenPublication) {
            artifact jar
        }
    }
    repositories {
        maven {
            url 'file:///${project.projectDir}/mcmodsrepo'
        }
    }
}

我根本没有编辑文件。

【问题讨论】:

    标签: gradle minecraft minecraft-forge


    【解决方案1】:

    在我看来,您的 T 周围有两个额外的撇号

    'Implementation-Timestamp': new Date().format('yyyy-MM-dd'T'HH:mm:ssZ')
    

    我认为应该是:

    'Implementation-Timestamp': new Date().format('yyyy-MM-ddTHH:mm:ssZ')
    

    【讨论】:

    • 谢谢。这修复了一个错误,但现在我又遇到了一个错误。我已经用新的错误更新了我的帖子。
    • stackoverflow.com/questions/9170832/… - 看起来主要版本 60 指的是 Java 16。也许您的项目与 JDK 16 不兼容。这个答案可能会对您有所帮助stackoverflow.com/questions/67079327/…
    • 如果这个答案有助于解决最初的错误,请随时为这个答案投票。将您的新错误添加为新问题可能更有用,以便更多人看到并关闭此问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 2019-08-05
    相关资源
    最近更新 更多