【发布时间】:2019-03-11 12:48:15
【问题描述】:
我尝试启动(如在this question 中)corda 独立 jar 并遇到问题:
internal.DriverDSLImpl.genericDriver - 驱动程序因异常而关闭 java.lang.NoSuchMethodError: io.netty.util.internal.PlatformDependent.newAtomicIntegerFieldUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater; 在 io.netty.buffer.AbstractReferenceCountedByteBuf.(AbstractReferenceCountedByteBuf.java:32) ~[corda/:?] 在 io.netty.buffer.Unpooled.wrappedBuffer(Unpooled.java:199) ~[corda/:?] 在 org.apache.activemq.artemis.core.io.buffer.TimedBuffer.(TimedBuffer.java:111) ~[corda/:?] 在 org.apache.activemq.artemis.core.io.AbstractSequentialFileFactory.(AbstractSequentialFileFactory.java:78) ~[corda/:?] 在 org.apache.activemq.artemis.core.io.nio.NIOSequentialFileFactory.(NIOSequentialFileFactory.java:75) ~[corda/:?] 在 org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager.init(JournalStorageManager.java:132) ~[corda/:?] 在 org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.(AbstractJournalStorageManager.java:217) ~[corda/:?] 在 org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager.(JournalStorageManager.java:103) ~[corda/:?] 在 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createStorageManager(ActiveMQServerImpl.java:2008) ~[corda/:?] 在 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart1(ActiveMQServerImpl.java:2145) ~[corda/:?] 在 org.apache.activemq.artemis.core.server.impl.LiveOnlyActivation.run(LiveOnlyActivation.java:63) ~[corda/:?] 在 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:516) ~[corda/:?] 在 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:464) ~[corda/:?] 在 net.corda.node.services.messaging.ArtemisMessagingServer.configureAndStartServer(ArtemisMessagingServer.kt:122) ~[corda/:?] 在 net.corda.node.services.messaging.ArtemisMessagingServer.start(ArtemisMessagingServer.kt:92) ~[corda/:?] 在 net.corda.node.internal.Node.startMessagingService(Node.kt:294) ~[corda/:?] 在 net.corda.node.internal.AbstractNode$start$4.invoke(AbstractNode.kt:256) ~[corda/:?] 在 net.corda.node.internal.AbstractNode$start$4.invoke(AbstractNode.kt:105) ~[corda/:?] 在 net.corda.node.internal.AbstractNode$initialiseDatabasePersistence$2.invoke(AbstractNode.kt:700) ~[corda/:?] 在 net.corda.node.internal.AbstractNode$initialiseDatabasePersistence$2.invoke(AbstractNode.kt:105) ~[corda/:?] 在 net.corda.nodeapi.internal.persistence.CordaPersistence.inTopLevelTransaction(CordaPersistence.kt:152) ~[corda/:?] 在 net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:138) ~[corda/:?] 在 net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:124) ~[corda/:?] 在 net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:131) ~[corda/:?] 在 net.corda.node.internal.AbstractNode.initialiseDatabasePersistence(AbstractNode.kt:699) ~[corda/:?] 在 net.corda.node.internal.Node.initialiseDatabasePersistence(Node.kt:347) ~[corda/:?] 在 net.corda.node.internal.AbstractNode.start(AbstractNode.kt:207) ~[corda/:?] 在 net.corda.node.internal.Node.start(Node.kt:361) ~[corda/:?] 在 net.corda.testing.node.internal.DriverDSLImpl$Companion$startInProcessNode$1.invoke(DriverDSLImpl.kt:805) ~[corda/:?] 在 net.corda.testing.node.internal.DriverDSLImpl$Companion$startInProcessNode$1.invoke(DriverDSLImpl.kt:767) ~[corda/:?] 在 net.corda.core.internal.concurrent.ValueOrException$DefaultImpls.capture(CordaFutureImpl.kt:107) ~[corda/:?] 在 net.corda.core.internal.concurrent.OpenFuture$DefaultImpls.capture(CordaFutureImpl.kt) ~[corda/:?] 在 net.corda.core.internal.concurrent.CordaFutureImpl.capture(CordaFutureImpl.kt:119) ~[corda/:?] 在 net.corda.core.internal.concurrent.CordaFutureImplKt$fork$$inlined$also$lambda$1.run(CordaFutureImpl.kt:22) ~[corda/:?] 在 java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_202] 在 java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_202] 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) ~[?:1.8.0_202] 在 java.util.concurrent.ScheduledThreadPoolExecutor$Sche..(Unknown Source) ~[?:1.8.0_202] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.8.0_202] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_202] 在 java.lang.Thread.run(Unknown Source) ~[?:1.8.0_202] 线程“主”java.lang.NoClassDefFoundError 中的异常:无法初始化类 io.netty.buffer.UnpooledUnsafeDirectByteBuf 在 io.netty.buffer.Unpooled.wrappedBuffer(Unpooled.java:199) 在 org.apache.activemq.artemis.core.io.buffer.TimedBuffer.(TimedBuffer.java:111) 在 org.apache.activemq.artemis.core.io.AbstractSequentialFileFactory.(AbstractSequentialFileFactory.java:78) 在 org.apache.activemq.artemis.core.io.nio.NIOSequentialFileFactory.(NIOSequentialFileFactory.java:75) 在 org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager.init(JournalStorageManager.java:132) 在 org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.(AbstractJournalStorageManager.java:217) 在 org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager.(JournalStorageManager.java:103) 在 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createStorageManager(ActiveMQServerImpl.java:2008) 在 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart1(ActiveMQServerImpl.java:2145) 在 org.apache.activemq.artemis.core.server.impl.LiveOnlyActivation.run(LiveOnlyActivation.java:63) 在 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:516) 在 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:464) 在 net.corda.node.services.messaging.ArtemisMessagingServer.configureAndStartServer(ArtemisMessagingServer.kt:122) 在 net.corda.node.services.messaging.ArtemisMessagingServer.start(ArtemisMessagingServer.kt:92) 在 net.corda.node.internal.Node.startMessagingService(Node.kt:294) 在 net.corda.node.internal.AbstractNode$start$4.invoke(AbstractNode.kt:256) 在 net.corda.node.internal.AbstractNode$start$4.invoke(AbstractNode.kt:105) 在 net.corda.node.internal.AbstractNode$initialiseDatabasePersistence$2.invoke(AbstractNode.kt:700) 在 net.corda.node.internal.AbstractNode$initialiseDatabasePersistence$2.invoke(AbstractNode.kt:105) 在 net.corda.nodeapi.internal.persistence.CordaPersistence.inTopLevelTransaction(CordaPersistence.kt:152) 在 net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:138) 在 net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:124) 在 net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:131) 在 net.corda.node.internal.AbstractNode.initialiseDatabasePersistence (AbstractNode.kt:699) 在 net.corda.node.internal.Node.initialiseDatabasePersistence(Node.kt:347) 在 net.corda.node.internal.AbstractNode.start(AbstractNode.kt:207) 在 net.corda.node.internal.Node.start(Node.kt:361) 在 net.corda.testing.node.internal.DriverDSLImpl$Companion$startInProcessNode$1.invoke(DriverDSLImpl.kt:805) 在 net.corda.testing.node.internal.DriverDSLImpl$Companion$startInProcessNode$1.invoke(DriverDSLImpl.kt:767) 在 net.corda.core.internal.concurrent.ValueOrException$DefaultImpls.capture(CordaFutureImpl.kt:107) 在 net.corda.core.internal.concurrent.OpenFuture$DefaultImpls.capture(CordaFutureImpl.kt) 在 net.corda.core.internal.concurrent.CordaFutureImpl.capture(CordaFutureImpl.kt:119) 在 net.corda.core.internal.concurrent.CordaFutureImplKt$fork$$inlined$also$lambda$1.run(CordaFutureImpl.kt:22) 在 java.util.concurrent.Executors$RunnableAdapter.call(未知来源) 在 java.util.concurrent.FutureTask.run(未知来源) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(未知来源) 在 java.util.concurrent.ScheduledThreadPoolExecutor$Sche..(未知来源) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 在 java.lang.Thread.run(未知来源)【问题讨论】: