2015-04-13 4 views
0

Я пытался получить соединение 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

+0

Хотелось бы помочь вам, но, не посоветовавшись с некоторыми чайными листьями, я не думаю, что это проблема, которую мы можем удаленно диагностировать и исправить. – ControlAltDel

+0

Что такое недостающий класс? – tomtom

+0

Конечно, но я не прошу разрешения, просто некоторые указатели, чтобы начать меня. У меня закончились идеи – ewanc

ответ

0

Проблема решена! Я должен был установить зависимость от драйвера SQL в манифесте моего уха. Спасибо за помощь

Смежные вопросы