【发布时间】:2016-06-09 19:44:34
【问题描述】:
我使用的是 Wildfly 10,我在standalone.xml 中的数据源是:
<datasources>
<datasource jta="true" jndi-name="java:/MySqlDS" pool-name="MySQL_AAA" enabled="true" use-ccm="true">
<connection-url>jdbc:mysql://localhost:3306/aaa</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver>mysql-connector-java-5.1.35-bin.jar_com.mysql.jdbc.Driver_5_1</driver>
<security>
<user-name>root</user-name>
<password>root</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<background-validation>true</background-validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</datasource>
我正在我的 Java bean 中运行此代码:
Class.forName("com.mysql.jdbc.Driver");
我收到此错误消息:
10:29:59,210 ERROR [stderr] (default task-15) java.lang.ClassNotFoundException: com.mysql.jdbc.Driver from [Module "deployment.AAA_5.war:main" from Service Module Loader]
10:29:59,210 ERROR [stderr] (default task-15) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
我阅读了文档说我需要将驱动程序放在我的 lib 文件夹中,但这不起作用。我确定解决方案很简单,但我看不到。有人可以指出我正确的方向。一些我可以用作资源的文档会很棒。
【问题讨论】:
-
你关注these docs了吗?
-
这些文档适用于 Widfly 8。我正在使用 10。我在 Wildfly 中有一个正常运行的数据源。我正在使用它来填充应用程序的其余部分。它的定义显示在我的问题的第一部分。我需要知道如何正确访问驱动程序。
-
我对 Wildfly 8、9 和 10 使用了相同的脚本 - 没有太多的变化。请参阅我的回答here 以获得更好的整体方法。您永远不应该直接获取驱动程序,而应该使用连接池。
-
Class.forName("com.mysql.jdbc.Driver");自 2007 年以来就不再需要了。