当前位置: 首页 > 知识库问答 >
问题:

如何修复Apache Ignite中“无法初始化类org.Apache.ignite.igniteJDBCTHINDriver”错误?

魏烨熠
2023-03-14

我正在尝试使用Apache Ignite内置工具SQLLine连接到Apache Ignite服务器。我得到错误:java.lang.noClassDefFounderRor:无法初始化类org.apache.ignite.igniteJDBCTHINDriver

我让Apache Ignite在一个容器中运行,CentOS7在另一个容器中运行。在同一网络中运行的两个容器(ping是双向的)。尝试的连接发生在从CentOS7到Apache Ignite之间。

[root@bc72c4fbf47e bin]# ./sqlline.sh
sqlline version 1.3.0
sqlline> !connect jdbc:ignite:thin://172.19.0.2/
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.ignite.internal.util.GridUnsafe$2 (file:/var/tmp/apache-ignite/libs/ignite-core-2.7.0.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of org.apache.ignite.internal.util.GridUnsafe$2
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
java.lang.NoClassDefFoundError: Could not initialize class org.apache.ignite.IgniteJdbcThinDriver
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:415)
    at java.sql/java.sql.DriverManager.isDriverAllowed(DriverManager.java:555)
    at java.sql/java.sql.DriverManager.isDriverAllowed(DriverManager.java:547)
    at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:449)
    at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:426)
    at sqlline.SqlLine.findRegisteredDriver(SqlLine.java:1568)
    at sqlline.SqlLine.scanForDriver(SqlLine.java:1542)
    at sqlline.Commands.connect(Commands.java:1074)
    at sqlline.Commands.connect(Commands.java:1001)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
    at sqlline.SqlLine.dispatch(SqlLine.java:791)
    at sqlline.SqlLine.begin(SqlLine.java:668)
    at sqlline.SqlLine.start(SqlLine.java:373)
    at sqlline.SqlLine.main(SqlLine.java:265)

我应该能够用连接到我的Ignite服务器!在SQLLine中连接jdbc:Ignite:Thin://172.19.0.2/命令。这不起作用,并且throws无法初始化类org.apache.ignite.IgniteJDBCThinDriverIgniteJDBCThinDriver已安装/可用。

共有1个答案

端木乐语
2023-03-14

建议使用Java8,因为Apache Ignite 2.7.0不完全支持Java12。否则,您可以尝试对JVM选项进行修修补补。

 类似资料:
  • 问题内容: 当我运行项目时,会收到此错误的大量输出: 我注意到此问题的出现方式是在整个网络上被询问,但没有真正的答案。这种错误的一般原因是什么? 问题答案: NoClassDefFound错误是一个模糊的错误,通常隐藏着更严重的问题。它是不一样的ClassNotFoundException(被抛出时,该类只是普通的不存在)。 如javadocs所示,NoClassDefFound 可能指示该类不存

  • 我需要在Gradle中查看我的依赖项,以修复多个SLF4J绑定的问题。 但是,当我运行“Gradle依赖项”时,我得到错误: 无法初始化类org.codehaus.groovy.runtime.InvokerHelper 在堆栈溢出的类似问题中,Android Studio无法初始化类org.codehaus.groovy.runtime.InvokerHelper 建议 安装Java jdk-1

  • 问题内容: 我得到以下异常: 当我尝试从以下几行拨打电话时: 我首先实现了这样的方法: 并得到了例外。然后一位朋友建议我始终测试该会话并获取当前会话,以避免出现此错误。所以我这样做: 但仍然会出现相同的错误。我已经阅读了很多有关此错误的内容,并找到了一些可能的解决方案。其中之一是将lazyLoad设置为false,但是不允许这样做,因此建议我控制会话 问题答案: 这是错误的,因为您在提交事务时将会

  • 我得到以下例外情况: 当我尝试从main调用以下线路时:

  • 当我在iReport 5.1.0中预览JasperReports的报告时,它执行得很好。它包含一个饼图,当我需要从jsp文件运行它时,问题就来了。 烧烤-1.5-beta1.jar commons-beanutils-1.8.2.jar Commons-Collections-3.2.1.jar commons-digester-2.1.jar commons-javaflow-20060411.

  • 我用Xcode开发了一个“Hello iOS”应用程序,可以在iOS模拟器上用Appium进行测试。然而,当我试图在真正的iPhone/iPad设备上测试同一个应用程序时,我收到了以下错误消息。 这是我的环境。 我尝试了这个命令“brew安装--HEAD ideviceInster”,但得到了另一条错误消息。 有什么解决办法吗?谢谢