我已经创建了一个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连接器,而我在同一堆栈跟踪中遇到的另一个问题是这个
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服务器中也没有太多工作。我无法自己弄清楚,任何帮助将不胜感激。
答案 0 :(得分: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>