【问题标题】:Cassandra Plugin in IntellijIntellij 中的 Cassandra 插件
【发布时间】:2016-08-24 03:36:09
【问题描述】:

我正在尝试为 cassandra 制作 Intellij 插件。在构建了 intellij 社区源代码之后,我设法进入了开发部分。我已经通过 maven (com.datastax.cassandra:cassandra-driver-core:3.0.0) 添加了 cassandra 驱动程序。但是当我部署插件时,它给了我链接错误(slf4j 记录器)。所以我将它从 cassandra 驱动程序库中排除。之后我在连接到 cassandra 时遇到了这个异常

ClassCastException: io.netty.channel.epoll.EpollEventLoopGroup cannot be cast to io.netty.channel.EventLoopGroup

这里是堆栈跟踪:

java.lang.ClassCastException: io.netty.channel.epoll.EpollEventLoopGroup cannot be cast to io.netty.channel.EventLoopGroup
        at com.datastax.driver.core.NettyUtil.newEventLoopGroupInstance(NettyUtil.java:134)
        at com.datastax.driver.core.NettyOptions.eventLoopGroup(NettyOptions.java:96)
        at com.datastax.driver.core.Connection$Factory.<init>(Connection.java:706)
        at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1365)
        at com.datastax.driver.core.Cluster.init(Cluster.java:162)
        at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:333)
        at com.datastax.driver.core.Cluster.connect(Cluster.java:283)
        at cassandra.NewMenu$1.actionPerformed(NewMenu.java:65)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.Component.processMouseEvent(Component.java:6516)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
        at java.awt.Component.processEvent(Component.java:6281)
        at java.awt.Container.processEvent(Container.java:2229)
        at java.awt.Component.dispatchEventImpl(Component.java:4872)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4698)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
        at java.awt.Container.dispatchEventImpl(Container.java:2273)
        at java.awt.Window.dispatchEventImpl(Window.java:2719)
        at java.awt.Component.dispatchEvent(Component.java:4698)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
        at java.awt.EventQueue.access$300(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:706)
        at java.awt.EventQueue$3.run(EventQueue.java:704)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:720)
        at java.awt.EventQueue$4.run(EventQueue.java:718)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
        at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:866)
        at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:381)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

如何摆脱这个异常?我曾尝试降级 cassandra 驱动程序版本,但没有成功。

【问题讨论】:

  • 你有没有机会开源这个插件?我正在尝试做同样的事情,但找不到任何关于从哪里开始的信息
  • 这个插件能走多远?我想用它..

标签: java maven intellij-idea cassandra datastax-java-driver


【解决方案1】:

您的 Netty 版本似乎有问题,请尝试使用 shaded jar:http://datastax.github.io/java-driver/manual/shaded_jar/

【讨论】:

  • 我没有任何 POM.xml。我正在使用 intellij 中的项目结构添加依赖项。我怎样才能给分类器属性?
  • 如果你没有 pom.xml 然后尝试指向阴影 jar 而不是 java 驱动程序的普通 jar
猜你喜欢
  • 2019-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
相关资源
最近更新 更多