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

Gradle从5.6升级到8.3后构建失败,NpmSetupTask配置异常

Gradle 5.6升级至8.3构建失败解决方案

问题根源

你使用的com.moowork.node插件1.3.1是老旧未维护版本,不兼容Gradle 8.x的任务输入/输出验证机制。插件内部的NpmSetupTask类注解不符合Gradle最新规范,导致构建报错。

解决步骤

1. 替换为官方维护的Node.js Gradle插件

移除过时的com.moowork.node插件,改用com.github.node-gradle.node插件(该插件由Gradle官方生态维护,兼容新版Gradle)。

2. 调整构建脚本配置

  • 清理冗余的apply plugin: 'war'(已在plugins块中声明)
  • 适配新插件的npm配置语法
  • 保留原有业务逻辑的同时,修复依赖关系

修改后的完整构建脚本

plugins {
    id 'com.github.node-gradle.node' version '7.0.0'
    id 'war'
}

jar.enabled = false

// 配置npm安装参数
npmInstall {
    def registry = "--registry=" + REPO_ROOT_URL
    registry = registry.contains("repo.") ? registry + "/api/npm/csf-npm-delivered" : registry + "/csf-npm-delivered"
    args.set(['--no-optional', registry])
}

// 自定义任务:复制build目录到dist并清理build
task npmRunBuild {
    dependsOn npmInstall // 确保npm安装完成后再执行
    doLast {
        copy {
            from 'build'
            into 'dist'
        }
        delete 'build'
    }
}

war {
    archiveFileName = "smk.smk-configuration.war"

    from(fileTree("dist")) {
        into "/"
    }
    manifest {
        attributes(
                "Include-Resource": "dist",
                "Web-ContextPath": "/gui/nsmk/",
                "Bundle-SymbolicName": "smk.smk-configuration",
                "Bundle-Name": "smk.smk-configuration"
        )
    }

    classpath = classpath.filter { file ->
        !file.name.endsWith('jar')
    }
}

clean {
    doLast {
        delete 'dist'
    }
}

processResources.dependsOn npmInstall
war.dependsOn npmRunBuild

额外说明

  • 插件版本7.0.0兼容Gradle 8.3,可根据需求选择对应适配版本
  • 若你的前端项目需要执行npm run build命令,可调整npmRunBuild任务:
task npmRunBuild {
    dependsOn npmInstall, node.npm.run('build')
    doLast {
        copy {
            from 'build'
            into 'dist'
        }
        delete 'build'
    }
}

内容的提问来源于stack exchange,提问作者Yuvaraj B V

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:12:44