Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver

qwer1234

Mitglied
hey leute

ich bin mir nicht ganz sicher obs hier her gehört oder eher zu anderen konfigurationssachen. dafür bitte ich gleich mal um entschuldigung.

mein problem liegt an der verbindung zu einer oracle datenbank. das ganz läuft unter windows ganz einwandfrei.

nun hab ich zum testen meines programms unter linux suse 11 via 'VMware Player' laufen.
hier haperts dann bei der verbindung zu meiner datenbank und da ich leider alles andere als ein experte auf dem gebiet bin stell ich hier meine frage:

Java:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

er findet anscheinend die klasse obige klasse im ojdbc6.jar nicht, obwohl ich sie ihm mitgebe.

meine aufrufe schauen in etwa so aus:

Java:
java -classpath ojdbc6.jar -jar ../jarlib/meinjar.jar -dbString "jdbc:oracle:thin:@(..." -weitereArgs

ich hab auch schon probiert über eine umgebungsvariable CLASSPATH das ganze zu machen, aber leider ohne erfolg

vielen dank schon mal im voraus...

gruß
 
Zuletzt bearbeitet:
Bin mir gerade nicht zu 100% sicher (aber zu 95%), aber du kannst entweder -cp oder -jar angeben.
Bei -cp musst du als letztes Argument die zu startende Klasse angeben,
bei -jar musst du den Classpath über den Class-Path Eintrag in der MANIFEST.MF steuern.
 
Also ich habs mittlerweile (mit eurer Hilfe) gelöst.

Und zwar lässt sich das Ganze ohne weiteres mit

Java:
java -classpath ojdbc6.jar:../jarlib/meinjar.jar meineKlasse -dbString "jdbc:oracle:thin:@(..." -weitereArgs

ausführen.

Anscheinend gefällt ihm die Kombination von -cp -jar wirklich nicht, aber davon steht ja auch nirgendwo was...
 
Entschuldigt den Doppelpost aber das Verhalten ist sogar spezifiziert:

...-jar
Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form Main-Class: classname. Here, classname identifies the class having the public static void main(String[] args) method that serves as your application's starting point. See the Jar tool reference page and the Jar trail of the Java Tutorial for information about working with Jar files and Jar-file manifests.

When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored.
...
java - the Java application launcher
 
Und ich bin mit 100% sicher beides zusammen angegeben zu haben und es geht. Ich teste das heut Abend nochmal.
 
Zuletzt bearbeitet:

Zurück
Oben