GCP VM 上的 Corda 节点:没有安装自定义 CordDapps

Corda node on GCP VM: No installed custom CordDapps

我遇到了与此相同的问题post (In Corda, `No installed custom CorDapps.` on node's built-in webserver)。

这是我所做的:
1. 我使用的是 Java 版本的 Tokens-SDK,它与 post 的解决方案中提到的示例具有不同的文件夹结构(即客户、合同和工作流是 3 个独立的模块而不是一个模块)。
2. 这是我的最新提交,包含以下提到的更改: https://github.com/adelRestom/corda-tokens-api/commit/4fc730b352a184c3848ef2455e0fbb9e712a4e2b
4. 我在 clients 模块
中创建了 class ExamplePlugin 5. 我在 clients 模块
中创建了文件 net.corda.webserver.services.WebServerPluginRegistry 6. 我更新了项目根目录下的 build.gradle 并添加了 cordapp project(":clients") 作为依赖(我不是 gradle 专家,但我认为这应该将这个模块添加到cordapp 的 jar 文件)
7.我运行./gradlew jar
8. 我将 jar 文件上传到 google 云 VM
中的 /opt/corda/cordapps 9. 我使用 run-corda.sh
启动节点 10. 我转到我的浏览器并使用我的节点的外部 IP 地址和端口 8080
11. 我得到 No installed custom CordApps

你能看看我的存储库,看看我遗漏了什么吗?

浏览存储库后,发现 - "task deployNodes" 中未添加 Cordapp "clients"(见下文)

task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
    nodeDefaults {
        projectCordapp {
            deploy = false
        }
        cordapp("$tokens_release_group:tokens-contracts:$tokens_release_version")
        cordapp("$tokens_release_group:tokens-workflows:$tokens_release_version")
        cordapp("$tokens_release_group:tokens-money:$tokens_release_version")
        cordapp project(':contracts')
        cordapp project(':workflows')
    }

请检查

我改变了方法:
1. 我为 contracts.jar 和 workflows.jar
生成了罐子 2. 我将 SpringBoot 网络服务器生成为独立的 jar(使用 ./gradlew bootJar
3.我启动了节点
4. 我启动了网络服务器
5. 我能够访问我的 API 个端点