2

次のエラーが表示されます: ClassNotFoundException

java.lang.ClassNotFoundException: com.oracle.ojbdc6-11.2.0.1.0
  at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:186)
  at uk.ac.ebi.mydas.examples.Conn.main(Conn.java:23)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:601)
  at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

私の intelliJ IDE では、Maven に適切に依存関係を設定したと確信しています。なぜなら、外部ライブラリ フォルダーに「Maven: com.oracle:ojdbc6:11.2.0.1.0」パッケージがリストされているからです。

コードがクラスを適切にアドレス指定できないという問題があると想定しています。

try {
    Class.forName("com.oracle.ojbdc6");
}

jdbc ドライバーが Maven リポジトリーにないことに気付いたので、Oracle Web サイト (正しいバージョン番号) から直接ダウンロードして、ライブラリーにロードする必要がありました。次に、 pom.xml 依存関係を正常に追加しました。

Maven: ojdbc 依存関係がインストールされています

最後に、これが私の POM.xml です。

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.1.0</version>
    </dependency>

ありがとう!

編集: クラス OracleDriver が対処されているにもかかわらず、問題は引き続き発生します。 ここに画像の説明を入力

EDIT2: ここでは、InnteliJ での私のモジュール/依存関係の設定を見ていきます ここに画像の説明を入力

4

2 に答える 2

1

jdbc ドライバーをロードする古い (jdbc3) 方法は、Class.forName(String). 各ドライバーには、おそらく、自分自身をDriverManager.

渡す文字列Class.forName(String)は、ドライバーの完全修飾クラス名です。したがって、クラスパス上の実際のクラスでない限り意味がありませんcom.oracle.ojbdc6com.oracle.ojbdc6-11.2.0.1.0

の代わりcom.oracle.ojbdc6

try {
    Class.forName("com.oracle.ojbdc6");
}

どちらも Driver クラスであるoracle.jdbc.driver.OracleDriverまたはのいずれかを使用します。oracle.jdbc.OracleDriver使用している jdbc ドライバーのバージョンによって異なります。

関連する回答は次のとおりです。

于 2013-07-24T18:02:25.693 に答える
0

ojbdc6 ではなく ojdbc6 ではないでしょうか。

于 2013-07-24T18:02:16.747 に答える