小编Dee*_*pak的帖子

io.netty.buffer.PooledByteBufAllocator的NoClassDefFoundError

我创建了一个用java中的Achilles Object映射编写的Cassandra客户端(使用IntelliJ + Gradle).我的客户端在IntelliJ中本地工作正常,但在docker容器中部署时抛出异常.我目前在我的docker容器中遇到以下异常.

java.lang.NoClassDefFoundError:无法在com.datastax.driver.core.NettyOptions.afterBootstrapInitialized(NettyOptions.java:144)com.datastax.driver.core.Connection $ Factory.newBootstrap初始化类io.netty.buffer.PooledByteBufAllocator. (Connection.java:903)com.datastax.driver.core.Connection $ Factory.access $ 100(Connection.java:751)at com.datastax.driver.core.Connection.initAsync(Connection.java:139)at com .datastax.driver.core.Connection $ Factory.open(Connection.java:807)at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:252)at com.datastax.driver.core.ControlConnection.reconnectInternal (ControlConnection.java:201)com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79)at com.datastax.driver.core.Cluster $ Manager.negotiateProtocolVersionAndConnect(Cluster.java:1631)at com.位于com.datastax.driver.cor的com.datastax.driver.core.Cluster.init(Cluster.java:160)中的datastax.driver.core.Cluster $ Manager.init(Cluster.java:1549)e.Cluster.connectAsync(Cluster.java:342)位于com.datastax.driver.core.Cluster.connectAsync(Cluster.java:317)的com.datastax.driver.core.Cluster.connect(Cluster.java:259)在java.util.Optional.orElseGet(Optional.java:267)的info.archinnov.achilles.configuration.ArgumentExtractor.initSession(ArgumentExtractor.java:186)at info.archinnov.achilles.configuration.ArgumentExtractor.initConfigContext(ArgumentExtractor.java) :96)at info.archinnov.achilles.bootstrap.AbstractManagerFactoryBuilder.buildConfigContext(AbstractManagerFactoryBuilder.java:60),位于com.ds.db.cassandra的info.archinnov.achilles.generated.ManagerFactoryBuilder.build(ManagerFactoryBuilder.java:38). AchillesClient.(AchillesClient.java:22)at com.ds.message.RabbitMQMsgClient $ 1.open(RabbitMQMsgClient.java:114)at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java: 36)

但是,io.netty.buffer.PooledByteBufAllocator作为其中 netty-buffer-4.0.56.Final.jar一部分的类已经是类路径的一部分.

当我尝试从我的Intellij IDE本地测试东西时,一切正常.但是在部署之后,我在我的docker容器中遇到了这个问题.

该服务在我的docker容器中启动,如下所示:

java -server -XX:HeapDumpPath =/opt/ds/srv/diagnostics/msgreader-1589749851-2s89z.heapdump -Xmx614m -Xms614m -XX:MaxMetaspaceSize = 126M -XX:+ HeapDumpOnOutOfMemoryError -XX:+ UseG1GC -XX:CICompilerCount = 4 -XX:MaxGCPauseMillis = 1000 -XX:+ DisableExplicitGC -XX:ParallelGCThreads = 4 -Dsun.net.inetaddr.ttl = 60 -XX:OnOutOfMemoryError = kill -9%p -Djava.library.path =/usr/local/lib -Djava.net.preferIPv4Stack = true -Dapp.dir …

java gradle cassandra docker intellij-14

6
推荐指数
1
解决办法
916
查看次数

标签 统计

cassandra ×1

docker ×1

gradle ×1

intellij-14 ×1

java ×1