我一直在努力让MySQL连接在我的应用程序中运行几天。我一直在com.mysql.jdbc.Driver上得到一个ClassNotFoundException。在这方面有很多线索,但没有解决我的问题,我现在有点迷失。
几天前一切正常,但后来我将代码重组为几个模块并将它们部署在一个ear文件中。从那时起,我根本无法访问数据库。
我在JBoss中设置了一个MySQL驱动程序和数据源,经过大量的搞乱后,最终似乎正在运行。我可以检查管理控制台并测试连接,一切似乎都很好。
但我仍然在运行时得到ClassNotFoundException ...
20:09:25,854 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) java.lang.ClassNotFoundException: com.mysql.jdbc.Driver from [Module "deployment.traintrack-ear-0.0.1-SNAPSHOT.ear:main" from Service Module Loader]
20:09:25,858 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
20:09:25,858 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
20:09:25,862 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
20:09:25,866 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
20:09:25,866 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
20:09:25,870 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) at java.lang.Class.forName0(Native Method)
20:09:25,870 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) at java.lang.Class.forName(Class.java:191)
以下是我的standalone.xml的相关部分:
<datasource jta="false" jndi-name="java:jboss/MySqlDSJNDI" pool-name="MySqlDS" enabled="true" use-ccm="false">
<connection-url>jdbc:mysql://localhost:3306/trainingTracker</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver>mysql-connector-java-5.1.35-bin.jarcom.mysql.jdbc.Driver_5_1</driver>
<security>
<user-name>root</user-name>
<password>root</password>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>
驱动程序部署为$ JBOSS_HOME \ modules \ com \ mysql \ main中的模块。这是module.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.35-bin.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
这似乎没问题,因为它已在管理面板中注册并且连接测试成功,但可能更敏锐的眼睛可以找到问题。
我正在使用Maven构建它,依赖项在我的pom.xml中提供范围。
对此有任何帮助表示赞赏。
由于
答案 0 :(得分:0)
问题解决了!我不得不在我的耳朵清单中依赖SQL驱动程序。谢谢你的帮助