MySQL驱动程序JBoss AS 7的ClassNotFoundException

时间:2015-04-13 18:02:54

标签: java mysql maven jboss

我一直在努力让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中提供范围。

对此有任何帮助表示赞赏。

由于

1 个答案:

答案 0 :(得分:0)

问题解决了!我不得不在我的耳朵清单中依赖SQL驱动程序。谢谢你的帮助