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

Gradle 8.8升级后launch4j插件报'jar'属性未知错误求助

问题解决:Gradle 8.8下Launch4j 'jar'属性报错

核心原因

Gradle升级到8.8后,你使用的Launch4j插件3.0.6版本配置API发生变化:launch4j扩展不再支持jar属性;同时Spring Boot 3.x插件会默认禁用jar任务,改用bootJar生成可执行Jar,原代码中直接引用jar任务的逻辑也会触发错误。

修复步骤

  • 替换Launch4j配置中的jar属性:改用jarTask关联bootJar任务,避免硬编码Jar路径
  • 修复bootJar的manifest属性赋值逻辑:避免直接引用已被禁用的jar任务
  • 可选:升级Launch4j插件到适配Gradle 8.x的稳定版本(如3.1.0),提升兼容性

修改后的完整app.gradle代码

buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath "org.springframework.boot:spring-boot-gradle-plugin:3.1.5"
        // 可选:升级到兼容Gradle8.x的版本
        // classpath "edu.sc.seis.launch4j:launch4j:3.1.0"
        classpath "edu.sc.seis.launch4j:launch4j:3.0.6"
        classpath "com.gorylenko.gradle-git-properties:gradle-git-properties:2.4.2"
    }
}

apply from: "${buildscript.sourceFile.parent}/java.gradle"
apply plugin: org.springframework.boot.gradle.plugin.SpringBootPlugin
apply plugin: edu.sc.seis.launch4j.Launch4jPlugin
apply plugin: com.gorylenko.GitPropertiesPlugin

// 修复manifest属性赋值:继承java.gradle中的配置(若存在)
bootJar {
    archiveFileName.set("${project.name}-exec.jar")
    // 安全继承jar任务的manifest配置(仅当jar任务存在时执行)
    if (project.tasks.findByName('jar') != null) {
        manifest.attributes.putAll(jar.manifest.attributes)
    }
}

launch4j {
    mainClassName = "org.springframework.boot.loader.JarLauncher"
    // 替换原jar属性,直接关联bootJar任务
    jarTask = bootJar
    outputDir = "libs"
    headerType = "console"
    // icon = "${projectDir}/src/main/resources/favicon.ico"
    copyright = "test"
    companyName = "test"
    internalName = "test"
    bundledJrePath = "./jre"
}

build.finalizedBy createExe

额外说明

  • Launch4j 3.x版本移除了jar属性,改用jarTask关联Jar生成任务,Gradle会自动处理任务依赖关系,避免路径硬编码导致的构建不一致问题
  • Spring Boot 3.x插件默认禁用jar任务,所有可执行Jar生成逻辑由bootJar任务接管,直接引用jar任务会触发"未知属性"类错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 09:48:14