2016-05-04 14 views
0

Ich habe eine neue installiert Wildfly 10 Anwendungsserver läuft in Standalone Modus. Ich muss ein Projekt bereitstellen, für das der MySQL JDBC-Treiber benötigt wird. Ich habe den Treiber nach dem Tutorial unter JDBC Driver Setup installiert (ich habe die Modulinstallation gewählt). Nach dem Neustart Wildfly, in console.log Ich lese:MySQL-Treiber installiert, aber getConnection wirft keinen passenden Treiber gefunden

INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread-Pool - 33) WFLYJCA0005: Bereitstellen von nicht-JDBC-kompatible Treiber Klasse com.mysql.jdbc.Driver (Version 5.1) INFO [org.jboss.as.connector.deployers.jdbc] (MSC-Dienst thread 1-6) WFLYJCA0018: Startete Treiberdienst mit Treibername = mysql

Es scheint alles gut, aber ich kann keine Verbindung für die Datenbank bekommen. Ich verwende dieses Stück Code:

Class.forName("com.mysql.jdbc.Driver"); 
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbName?user=someUser&password=somePass"); 

Die erste Zeile wirft die Ausnahme:

com.mysql.jdbc.Driver von [Modul „deployment.someProject-1.0.0. Krieg: Haupt von Service-Modul Loader]“

Wenn ich die erste Zeile aus kommentieren, erhalte ich Keine geeignete Treiber Ausnahme.

Haben Sie eine Idee? Danke in Beratung

+0

verwenden Sie Maven? –

+1

Ja, ich benutze Maven. ozOlips Antwort löste das Problem – WileTheCoyot

Antwort

2

Sie benötigen eine Abhängigkeit für Ihre WAR auf der MySQL-Modul hinzufügen du hast gerade erstellt.

Es gibt zwei Möglichkeiten, eine Datei MANIFEST.MF im Krieg mit einer Linie Abhängigkeiten verwenden: com.mysql

Oder eine wie Jboss-Abhängigkeiten XML-Datei verwenden:

<jboss-deployment-structure> 

    <deployment> 

     <dependencies> 
     <module name="com.mysql" /> 
     </dependencies> 

    </deployment> 
</jboss-deployment-structure> 

Beide sollte sein im META-INF-Verzeichnis der WAR-Datei platziert. Es sollten Maven-Plugins verfügbar sein, um beides für Sie zu erstellen.

1

Ich habe eine Idee.

Soweit ich in WildFly weiß, werden Module zu den Apps standardmäßig nicht gesehen. Und ich nehme an, dass Sie Ihre App über das MySql-Modul wissen müssen.

Wenn Sie WAR als Notwendigkeit Datei jboss-Deployment-structure.xml in WEB-INF-Ordner mit Inhalt wie folgt zu erstellen:

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure> 
    <deployment> 
    <dependencies> 
     <module name="mysql" />  
    </dependencies>  
    </deployment> 
</jboss-deployment-structure> 
+0

sollte sein – WileTheCoyot