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

Corda 3切换自定义Spring WebServer后deployNodes报JAR缺失错误

解决Corda 3移除内置WebServer后deployNodes任务报错的问题

嘿,这个坑我之前踩过!问题出在deployNodes任务的默认行为上——哪怕你已经移除了corda-webserver依赖,它还是会默认尝试给每个节点部署内置的WebServer,自然就会找不到对应的JAR包报错。下面给你两种解决办法:

方法一:直接禁用内置WebServer部署

在build.gradle的deployNodes任务里,给每个节点的配置加上webServer = false,明确告诉任务别管内置WebServer的事。示例代码如下:

task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
    node {
        name "O=PartyA,L=London,C=GB"
        p2pPort 10002
        rpcSettings {
            address("localhost:10003")
            adminAddress("localhost:10043")
        }
        webServer = false // 关键配置:关闭内置WebServer部署
        cordapps = ["$project.group:workflows:$project.version",
                    "$project.group:contracts:$project.version"]
    }
    // 其他节点也要加上同样的webServer = false配置哦
}

方法二:部署自定义Spring WebServer(如果需要随节点一起打包)

要是你希望把自己的Spring WebServer JAR和节点一起部署,可以在节点配置里用extraJarFiles指定你的WebServer JAR路径,同时别忘了禁用内置的:

task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
    node {
        name "O=PartyA,L=London,C=GB"
        p2pPort 10002
        rpcSettings {
            address("localhost:10003")
            adminAddress("localhost:10043")
        }
        webServer = false
        // 替换成你实际的Spring WebServer JAR路径
        extraJarFiles = files("build/libs/your-spring-webserver-${project.version}.jar")
        cordapps = ["$project.group:workflows:$project.version",
                    "$project.group:contracts:$project.version"]
    }
}

小提示

  • 记得先确认你的自定义Spring WebServer已经配置好了和Corda节点的RPC连接,不然就算部署了也没法和节点交互
  • 执行deployNodes前,可以先跑个./gradlew clean清理下旧构建文件,避免缓存搞事情

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:59:57