ClassNotFound Exeception bei Treiber Regestrierung

Ich benutze Oracle 10g Express,
Netbeans 5.51,
Windows XP,
Java 1.6.0_02.

Ich habe die System Variablen
JAVA_HOME=C:\Turingstore\Java\jdk 1.6.0_02\jre,
CLASSPATH=Treiber Pfad (siehe unten), ORACLEHOME=C:\Turingstore\OracleDatabase10gExpressEdition\app\oracle\product\10.2.0\server,
gesetzt. Muss das überhaupt sein?

Hab in der IDE den Oracletreiber: C:\Turingstore\OracleDatabase10gExpressEdition\app\oracle\product\10.2.0\server\jdbc\lib\odjbc14.jar angemeldet und sogar noch eine Oracle Bibliothek. Was mit an Sicherheit grenzender Wahrscheinlichkeit falsch gemacht wurde von mir und unsinnig wahr (pure verzweiflung)

Java:
package jonnysfirstdbuseoverjdbc;

import java.sql.*;

public class JDBCTestOne {
    
    /** Creates a new instance of Main */
    public JDBCTestOne() {
        
    }
    
    public static void main(String[] args) {
        JDBCTestOne j=new JDBCTestOne();
        try {
           
                DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
    }
    
}

ich bekomme ständig eine ClassNotFoundException. Hilfe mein Rechner versteht mich nicht! Aber ihr oder?
 

hammet

himekishi
Mit NetBeans kenn ich mich leider nicht aus.

Wie lautet denn die komplette Fehlermeldung/Exception? (ex.printStackTrace();)
 
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at jonnysfirstdbuseoverjdbc.JDBCTestOne.main(JDBCTestOne.java:19)
 

Poxy

Grünschnabel
Das sieht für mich so aus als würde er die class (also die odjbc14.jar) nicht finden. Mit Netbeans kenn ich mich leider genau so wenig aus wie hammet. Aber bei Eclipse ist es z.B. so das man externe Libraries hinzufügen kann, vllt gibt es so eine Funktion auch bei Netbeans. Notfalls versuch mal die odjbc14.jar mit winrar zu entpacken und alle datein in das Verzeichnis deines Projektes zu packen.

LG
Poxy:)
 

hammet

himekishi
Also wie Poxy schon gesagt hat, solltest du versuchen, bei NetBeans den jdbc-Treiber einzubinden. Solltest du das nicht schaffen, gäbe es noch die Möglichkeit die JAR-File in "jre/lib/ext/" abzulegen, damit Java die JAR allgemein kennt. (denke aber, dass das keien "schöne" Möglichkeit ist).
 

DealeyLama

Mitglied
Hallo,

klick mal mit der rechten Maustaste auf den Projekt-Knoten deines Projekts. Im erscheindenen Kontext-Menü 'Eigenschaften/Properties' auswählen. Du solltest ein Dialog-Fenster angezeigt bekommen, in dem auf der rechten seite eine Baumstruktur angezeigt wird. Dort wählst Du 'Bibliotheken/Libraries'. Nun kannst Du, mit dem links erschienen 'Add Library...'-Knopf eine Bibliothek - in deinem Falle die jar-Datei, die deinen Treiber enthält - zu deinem Projekt hinzufügen.

Danach sollte eigentlich alles funktionieren wie gewünscht.

Schönen Abend noch

Alexander Schell
 

DealeyLama

Mitglied
Hallo

Eine DataSource wäre natürlich sauberer. Aber dann muß man sich dich wohl entweder eine eigene Factory/Registry bauen, oder eben JNDI nutzen.
Ich weiß nicht, ob dieser Aufwand für ein kleines Programm, da wohl nur zum Ausprobieren gedacht ist, wirklich lohnt.

Ging mir nur gerade so durch den Kopf... :)

Schönen Tag noch

Alexander Schell