【问题标题】:Unable to instantiate driver class "com.mysql.cj.jdbc.Driver": when deploying war file in jboss [duplicate]无法实例化驱动程序类“com.mysql.cj.jdbc.Driver”:在 jboss 中部署 war 文件时 [重复]
【发布时间】:2019-11-02 05:25:40
【问题描述】:

我创建了一个 Web 应用程序,数据库连接 是通过使用简单的 jdbc 连接 机制来处理的。构建 WAR 文件后,我验证了 WEB-INF/lib 是否有 mysql 连接器 库,并且我正在使用 mysql 1.8 java 连接器强>。但是当我尝试在 jboss 中部署应用程序时,我得到了几个错误和警告。项目是从 java 1.7 构建的,jboss 服务器使用相同的 jdk 版本运行。

Unable to instantiate driver class "com.mysql.cj.jdbc.Driver": 
java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver from [Module 
"deployment.NEWAPPLICATION.war:main" from Service Module Loader]

我不知道为什么会出现此错误 cz mysql connector can be found on the class path,而我在同一堆栈跟踪中遇到的另一个问题是这个

 Failed to define class com.mysql.cj.jdbc.Driver in Module 
 "deployment.NEWAPPLICATION.war:main" from Service Module Loader: 
 java.lang.UnsupportedClassVersionError: com/mysql/cj/jdbc/Driver : 
 Unsupported major.minor version 52.0

并且有很多日志说无法从 com/mysql/cj 索引类

Could not index class com/mysql/cj/MysqlxSession.class at 
 /content/NEWAPPLICATION.war/WEB-INF/lib/mysql-connector-java-8.0.16.jar: 
 java.lang.IllegalStateException: Unknown tag! pos=32 poolCount = 334

我并没有真正使用 WAR 应用程序,也没有真正使用 Jboss 服务器。我自己无法弄清楚这一点,我们将不胜感激。

【问题讨论】:

    标签: java mysql jakarta-ee jboss jboss7.x


    【解决方案1】:

    您说您使用的是 Java 1.7,但看起来 MySQL 驱动程序是使用 Java 1.8 编译的。升级您的 JRE,或者找到与 Java 1.7 兼容的驱动程序。您将需要 Connector/J 5.1,而不是 8。您可以在 The MySQL Archive 找到这个

    编辑:如果您使用的是 Maven,则可以使用此人工制品:

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-11
    • 2022-01-26
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    相关资源
    最近更新 更多