Derby/JavaDB No suitable driver found

Nachtfalke

Aktives Mitglied
Hallo zusammen,

ich bin hier gerade am Verzweifeln. Ich habe ein Projekt unter NetBeans 6.9.1. In diesem Projekt wird eine Verbindung zu einer inline Derby-DB geöffnet. Das hat auch bis vor etwa zwei Stunden gut funktioniert. Dann bin ich auf die dumme Idee gekommen, ich könnte ja mal Ordnung machen und die benutzen Libraries, also auch die Derby-Library, in einen neuen Unterordner verschieben. Natürlich habe ich die Referenzen auf die Libraries in NetBeans aktualisiert. In der IDE läuft die Applikation auch wieder einwandfrei. Wenn ich aber aus dem Projekt ein Jar baue und die Applikation dann darüber aufrufe, bekomme ich o.g. Fehler. Vor der Aufräumaktion hat auch die Ausführung des Jars einwandfrei funktioniert. Hat irgendjemand eine Idee, wo der Fehler liegen könnte?
 
G

Gast2

Gast
Kontrollier mal die Classpath Pfadangaben im generierten jar-file.
Falls du folgende Struktur hast:
Code:
<project_root>/lib/derby/derbyDriver.jar
macht Netbeans dir daraus in der jar als Classpath angabe:
Code:
lib/derbyDriver.jar
solang man nichts umstellt.
 
G

Gast2

Gast
Netbeans erstellt dir in deinem generierten Jar file eine MANIFEST.MF datei, dadrin steht die Classpath angabe.
 

Nachtfalke

Aktives Mitglied
Nope. Tut es nicht.

manifest.mf:
Code:
Manifest-Version: 1.0
Main-Class: myProject.myApp
SplashScreen-Image: META-INF/splash.png
Implementation-Version: 1.0 Build 192

Name: org/apache/derby/impl/tools/sysinfo/
Sealed: false

Name: org/apache/derby/iapi/services/context/
Sealed: false

Name: org/apache/derby/iapi/services/info/
Sealed: false

Name: org/apache/derby/jdbc/
Sealed: false

Name: org/apache/derby/info/
Sealed: false

Name: org/apache/derby/iapi/services/i18n/
Sealed: false

Name: org/apache/derby/iapi/tools/i18n/
Sealed: false

Name: org/apache/derby/loc/
Sealed: false

Name: org/apache/derby/tools/
Sealed: false

Name: org/apache/derby/impl/drda/
Sealed: false

Name: org/htmlparser/Parser.class
Java-Bean: True

Name: org/htmlparser/beans/StringBean.class
Java-Bean: True

Name: org/htmlparser/beans/HTMLTextBean.class
Java-Bean: True

Name: org/htmlparser/beans/LinkBean.class
Java-Bean: True

Name: org/htmlparser/beans/HTMLLinkBean.class
Java-Bean: True

Name: com/jidesoft/swing/JideButton.class
Java-Bean: True

Name: com/jidesoft/swing/JideToggleButton.class
Java-Bean: True

Name: com/jidesoft/swing/JideSplitButton.class
Java-Bean: True

Name: com/jidesoft/swing/JideToggleSplitButton.class
Java-Bean: True

Name: com/jidesoft/swing/JideTabbedPane.class
Java-Bean: True

Name: com/jidesoft/swing/AutoCompletionComboBox.class
Java-Bean: True

Name: com/jidesoft/swing/AutoResizingTextArea.class
Java-Bean: True

Name: com/jidesoft/swing/CheckBoxList.class
Java-Bean: True

Name: com/jidesoft/swing/CheckBoxTree.class
Java-Bean: True

Name: com/jidesoft/swing/JideScrollPane.class
Java-Bean: True

Name: com/jidesoft/swing/LabeledTextField.class
Java-Bean: True

Name: com/jidesoft/swing/RangeSlider.class
Java-Bean: True

Name: com/jidesoft/swing/StyledLabel.class
Java-Bean: True

Name: com/jidesoft/spinner/DateSpinner.class
Java-Bean: True
 
G

Gast2

Gast
Hast du den Treiber denn unter Bibliotheken hinzugefügt?
Du kannst den ClassPath teil auch von hand zum Manifest hinzufügen, dann sollte er den Treiber finden.
 

Nachtfalke

Aktives Mitglied
Hast du den Treiber denn unter Bibliotheken hinzugefügt?
Du kannst den ClassPath teil auch von hand zum Manifest hinzufügen, dann sollte er den Treiber finden.

Das werde ich mal probieren. Aber ich habe da wenig Hoffnung, denn vor der Umbauaktion lief es auch ohne den Eintrag.

Klick mal mit der rechten Maustaste auf den Projektnamen, dann mal Properties und dann auf Libaries.
Ist dort der Treiber aufgeführt? Wenn nicht musst du ihn dort dem Projekt bekannt machen.
Hilfestellung findest du dazu hier: NetBeans externe Bibliotheken bekannt machen - Byte-Welt Wiki

Wenn die Bibliothek resp. der Treiber dort nicht eingetragen wäre, würde das Projekt innerhalb der IDE auch nicht laufen.
 

Nachtfalke

Aktives Mitglied
Jetzt bin ich einen Schritt weiter. Ich benutze jarjar, um alle Bibliotheken in ein jar-File zu packen. Schalte ich jarjar in der build.xml ab, funktioniert die Verbindung zur DB wieder einwandfrei. Es liegt also vermutlich am jarjar. Was ich aber nicht verstehe ist, warum es nach der Aufräumaktion nicht mehr funktioniert, denn an der build.xml habe ich nichts geändert. Hier die Build.xml:

[XML]<?xml version="1.0" encoding="UTF-8"?>

<project name="myProject" default="default" basedir=".">
<description>Builds, tests, and runs the project myProject.</description>
<import file="nbproject/build-impl.xml"/>
<import file="nbproject/profiler-build-impl.xml"/>

<target name="-post-jar">
<property name="version.num" value="1.0"/>
<buildnumber file="build.num"/>

<move file="dist/myProject.jar" tofile="dist/myProjecttmp.jar"/>
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="d:\\Softwaredeveloping\\jarjar.jar"/>
<jarjar jarfile="dist/myProject.jar" filesetmanifest="mergewithoutmain">
<zipfileset src="dist/myProjecttmp.jar"/>
<zipgroupfileset dir="dist/lib" includes="*.jar"/>
<manifest>
<attribute name="Main-Class" value="myProject.myApp"/>
<attribute name="SplashScreen-Image" value="META-INF/splash.png"/>
<attribute name="Implementation-Version" value="${version.num} Build ${build.number}"/>
</manifest>
</jarjar>
<delete file="dist/myProjecttmp.jar"/>
</target>

</project>
[/XML]
 
G

Gast2

Gast
http://code.google.com/p/jarjar/ hat gesagt.:
How does it work?

Jar Jar Links includes an Ant task that extends the built-in jar task. The normal zipfileset element is used to embed jar files. A new rule element is added which uses wildcards patterns to rename the embedded class files. Bytecode transformation (via ASM) is used to change references to the renamed classes, and special handling is provided for moving resource files and transforming string literals.

Das klingt ja fieß...

Pack das Projekt mal mit OneJar, da werden die libs nicht erst auseinander gepfückt (und möglicherweise falsch wieder zusammengesetzt). Das hat bei mir bisher immer funktioniert - selbst mit nativen Libs wie dem Oracle Treiber:

http://www.java-forum.org/java-basi...n-jar-datei-externen-libaries.html#post615946
 

Nachtfalke

Aktives Mitglied
Danke für den Tipp. Ich habe mir one-jar mal angesehen. Irgendwie will das aber nicht. Ich benutze jetzt folgendes Build.xml:
[XML]<?xml version="1.0" encoding="UTF-8"?>

<project name="myProject" default="default" basedir=".">

<description>Builds, tests, and runs the project myProject.</description>
<import file="nbproject/build-impl.xml"/>
<import file="nbproject/profiler-build-impl.xml"/>

<property name="one-jar.version" value="0.97" />

<path id="oneJar.Classpath">
<pathelement location="${basedir}/one-jar/one-jar-ant-task-${one-jar.version}.jar" />
</path>

<taskdef name="one-jar" classname="com.simontuffs.onejar.ant.OneJarTask" classpathref="oneJar.Classpath" />
<one-jar destfile="dist/myProject-standalone.jar" manifest="manifest.mf">
<main>
<fileset dir="dist/">
<include name="**/*.jar" />
</fileset>
</main>
<lib>
<fileset dir="dist/lib">
<include name="**/*.jar" />
</fileset>
</lib>
</one-jar>
</project>
[/XML]
Funktioniert nur leider nicht. Während des Builds läuft NetBeans in eine Endlosschleife :(
 
G

Gast2

Gast
Das lässt sich jetzt so schwer sagen was bei dir nicht läuft.

Ich baue auch nie direkt über netbeans sondern direkt immer mit ANT auf der Commandline oder per Eclipse ANT View. PAck doch einfach mal ein paar <echo>blabliblub</echo> mit in die build.xml damit du siehts wo es hängt.

Ich glaube das Problem ist wie du das Script in die schon bestehenden netbeans scripte einbindest. Du musst da glaub ich die targest für überschreiben wie auch schon oben: <target name="-post-jar">...
 

Nachtfalke

Aktives Mitglied
Das mit dem Target-Tag war ein guter Tipp. Jetzt läuft zumindest der Build durch, aber das jar lässt sich nicht starten. Ich glaub, ich geb's auf :(
 

Nachtfalke

Aktives Mitglied
Nochmal Danke an alle für die Hilfe. Ich habe das Problem jetzt anderweitig gelöst. Ich verwende wieder jarjar. Das ursprüngliche Problem habe ich identifizieren und lösen können.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
J RESTServie + JDBC + No suitable driver found for jdbc Datenbankprogrammierung 4
B No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID Datenbankprogrammierung 7
AMStyles No suitable driver found for Datenbankprogrammierung 4
A No suitable driver found for jdbc:microsoft:sqlserver... Datenbankprogrammierung 9
StYxXx Microsoft-SQL: No suitable driver found Datenbankprogrammierung 11
G Das tolle "No suitable driver found" Datenbankprogrammierung 4
Y Java und MySql... "No suitable Driver..." Datenbankprogrammierung 16
S SQLException: No suitable driver bei DB2 Datenbankprogrammierung 4
G No suitable driver Datenbankprogrammierung 8
G No suitable driver Datenbankprogrammierung 16
S no suitable driver Datenbankprogrammierung 2
G MySQL: Login-Problem: No suitable Driver Datenbankprogrammierung 13
D MySQL No Suitable Drivers found Datenbankprogrammierung 4
Maxim6394 EclipseLink + SQLite | Unable to acquire a connection from driver [null] Datenbankprogrammierung 6
ralfb1105 Oracle Zwei ojdbc Driver in einer Applikation? Datenbankprogrammierung 13
thet1983 Derby/JavaDB Embedded Driver Datenbankprogrammierung 7
thet1983 MySQL ODBC Driver zuweisen unter Mac OX Mav Datenbankprogrammierung 2
T JAR keine H2 driver? Datenbankprogrammierung 3
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
K JDBC Driver not found Datenbankprogrammierung 10
Y java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state Datenbankprogrammierung 2
S MSSQL JDBC "Driver class not found" Datenbankprogrammierung 9
S Access 2007 zugreifen- ODBC Driver Manger Datenbankprogrammierung 3
K org.gjt.mm.mysql.driver wird nicht gefunden Datenbankprogrammierung 11
F MySQL - Connection JDBC-Driver Problem Datenbankprogrammierung 4
S java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 10
F DBConnect schläg fehl: not suitble Driver ?!? Datenbankprogrammierung 4
N MS-acces JDBC driver Datenbankprogrammierung 3
D Jdbc: Unable to load Driver! Datenbankprogrammierung 11
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
G MySQL Driver Bug? Datenbankprogrammierung 6
H Konnte den Treiber com.mysql.jdbc.Driver nicht laden. Datenbankprogrammierung 19
L Wo bekomme ich: "org.gjt.mm.mysql.Driver"? Datenbankprogrammierung 1
zilti java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 3
D java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 5
B Oracle Driver Probleme Datenbankprogrammierung 2
E Problem beim laden des JDBC Driver bzw der Database Datenbankprogrammierung 8
R NetBeans und com.mysql.jdbc.Driver Datenbankprogrammierung 2
N [Microsoft][ODBC Microsoft Access Driver]COUNT field incorre Datenbankprogrammierung 13
K Mysql Driver Datenbankprogrammierung 2
Maxim6394 JPA: IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST Datenbankprogrammierung 1
Kirby.exe SQL-Exception: Column not found Datenbankprogrammierung 6
D HSQLDB user lacks privilege or object not found Datenbankprogrammierung 6
M User lacks privilege or object not found Datenbankprogrammierung 3
W No data found: SQL-Abfrage funktioniert nur beim Debuggen Datenbankprogrammierung 3
F GWT und Hibernate - gwt.dev.Compler not found Datenbankprogrammierung 3
algebraiker Eclipse RCP - no persistent classes found for query class Datenbankprogrammierung 4
T org.hibernate.MappingException: entity class not found Datenbankprogrammierung 4
I java.sql.SQLException: No data found Datenbankprogrammierung 3
D MySQConnextor Class not found obwohl BuildPfad konfiguriert Datenbankprogrammierung 6
N Hsqldb und text tables source not found Datenbankprogrammierung 5
N Class not found Exception Datenbankprogrammierung 2
B Source not found // Java MySQL (eclipse) Datenbankprogrammierung 4
P Fehlermeldung "source not found" Datenbankprogrammierung 2
M java.sql.SQLException: No data found Datenbankprogrammierung 9

Ähnliche Java Themen

Neue Themen


Oben