Я пытался получить соединение MySQL, работающее в моем приложении, в течение нескольких дней. Я продолжаю получать ClassNotFoundException в com.mysql.jdbc.Driver. Там было много потоков, но ничто не решило мою проблему, и я немного потерял ее сейчас.ClassNotFoundException для драйвера MySQL JBoss AS 7
Все работало несколько дней назад, но затем я преобразовал код в несколько модулей и развернул их в ушном файле. С тех пор я вообще не смог получить доступ к базе данных.
У меня есть драйвер MySQL и источник данных, настроенный в JBoss, который, после того, как много беспорядков наконец-то работает. Я могу проверить консоль администратора и проверить соединение, и все выглядит хорошо.
Но я все еще получаю 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 \ модули \ COM \ MySQL \ основной. Вот 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 в качестве предоставленной области.
Любая помощь по этому вопросу была бы оценена.
Thanks
Хотелось бы помочь вам, но, не посоветовавшись с некоторыми чайными листьями, я не думаю, что это проблема, которую мы можем удаленно диагностировать и исправить. – ControlAltDel
Что такое недостающий класс? – tomtom
Конечно, но я не прошу разрешения, просто некоторые указатели, чтобы начать меня. У меня закончились идеи – ewanc