首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为cordapp构建springboot javax.Json未找到异常

为cordapp构建springboot javax.Json未找到异常
EN

Stack Overflow用户
提问于 2019-02-20 10:27:29
回答 2查看 319关注 0票数 1

我正在编写一个springboot与cordaapp集成,并使用gradle构建。我想在springboot中调用CordaRPC。虽然我能够构建,但我总是得到下面的错误,

代码语言:javascript
复制
java.lang.ClassNotFoundException: javax.json.JsonValue
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at net.corda.nodeapi.ArtemisTcpTransport$Companion.tcpTransport(ArtemisTcpTransport.kt:84)
        at net.corda.nodeapi.ArtemisTcpTransport$Companion.tcpTransport$default(ArtemisTcpTransport.kt:44)
        at net.corda.client.rpc.CordaRPCClient.<init>(CordaRPCClient.kt:108)
        at net.corda.client.rpc.CordaRPCClient.<init>(CordaRPCClient.kt:83)
        at net.corda.client.rpc.CordaRPCClient.<init>(CordaRPCClient.kt:83)
        at net.corda.client.rpc.CordaRPCClient.<init>(CordaRPCClient.kt)

对于这条线,

代码语言:javascript
复制
CordaRPCClient rpcClient = new CordaRPCClient(rpcAddress);

我的build.gradle文件的片段,

代码语言:javascript
复制
... apply plugin: 'java' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' apply plugin: 'net.corda.plugins.cordapp' apply plugin: 'net.corda.plugins.cordformation' apply plugin: 'net.corda.plugins.quasar-utils' ... dependencies {

    testCompile "junit:junit:$junit_version"

    // Corda integration dependencies
    cordaCompile "$corda_release_group:corda-core:$corda_release_version"
    cordaCompile "$corda_release_group:corda-finance:$corda_release_version"
    cordaCompile "$corda_release_group:corda-jackson:$corda_release_version"
    cordaCompile "$corda_release_group:corda-rpc:$corda_release_version"
    cordaCompile "$corda_release_group:corda-webserver-impl:$corda_release_version"
    cordaRuntime "$corda_release_group:corda:$corda_release_version"
    cordaRuntime "$corda_release_group:corda-webserver:$corda_release_version"

    testCompile "$corda_release_group:corda-node-driver:$corda_release_version"

    // CorDapp dependencies
    // Specify your cordapp's dependencies below, including dependent CorDapps
    cordapp "$corda_release_group:corda-finance:$corda_release_version"

    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.11.0'

//    implementation 'org.springframework.boot:spring-boot-starter-data-jpa' //    implementation 'org.springframework.boot:spring-boot-starter-jersey'
    implementation ('org.springframework.boot:spring-boot-starter-web', {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
        exclude group: 'org.springframework.boot', module: 'logback-classic'
    }
    )
    testImplementation 'org.springframework.boot:spring-boot-starter-test'

    implementation files('<path to my cordapp jar>')

} ...
EN

回答 2

Stack Overflow用户

发布于 2019-02-20 22:59:13

添加依赖项

group='javax.json', module='javax.json-api', version='1.1.4'

票数 1
EN

Stack Overflow用户

发布于 2019-05-02 23:17:36

实际的问题是apply plugin: 'io.spring.dependency-management'

这是org.apache.activemq:artemis-core-client2.6.22.6.4的颠簸,而这正是org.apache.geronimo.specs:geronimo-json_1.0_spec:1.0-alpha-1缺失的地方。

如果你移除了spring插件,一切都会恢复正常。

不管Spring Initializr生成了什么,您只需要

代码语言:javascript
复制
apply plugin: 'java' 
apply plugin: 'org.springframework.boot'

而且您可以安全地删除apply plugin: 'io.spring.dependency-management'

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54777941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档