2011-02-21 16 views
4

libフォルダにojdbc14.jarを含むWebアプリケーションを作成しました。それはそこに存在するが原因:java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver

Caused by: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver 

:私はTomcatを起動したとき

はしかし、私はエラーを取得します!

EclipseでローカルのTomcatに同じアプリケーションをデプロイすると問題なく動作します。

しかし、Eclipseからそれを展開すると、このメッセージが表示されますが、jarファイルは存在します。

EDITED

私は、META-INFフォルダの下のcontext.xmlからもそれを参照してください。

<WatchedResource>WEB-INF/web.xml</WatchedResource> 
    <Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory" /> 
    <Resource name="jdbc/testDS1" auth="Container" type="javax.sql.DataSource" 
       maxActive="15" maxIdle="2" maxWait="10000" 
       logAbandoned="true" 
       username="cust" password="cust" 
       driverClassName="oracle.jdbc.OracleDriver" 
       url="jdbc:oracle:thin:@myserver:id:name"/> 
+1

あなたはそれをどのXMLファイルからも参照していますか? –

+0

@ org.life.javaはい。私は自分の質問を編集しました – Dejell

答えて

8

は、それが内部のwebapps/yourapp/WEB-INF/libフォルダに存在しているあなたは確かにあります? の具体的なディレクトリにそれが見えない場合は、その例外をスローするようにバインドされています。

eclipseからどのように展開しますか? WARファイルをエクスポートしてデプロイしますか? WARファイルに指定された場所にojdbc14.jarが含まれていることを確認します。

+0

はい。それは日食の外です。私はwarファイルをエクスポートしてTomcatにデプロイしました。それはweb-inf libの下にojdbc14.jarを持っています – Dejell

+2

$ CATALINA_HOME/libや$ CATALINA_HOME/lib/extのような親の場所にojdbc.jarがありますか?その場合は、いずれかの場所からjarファイルを削除してみます。このような場合、クラスローディングの競合が発生することがよくあります。 – adarshr

0

jarがtomcatに移動するか、tamcatがjarへの参照を取得していることを確認してください。あなたはそれを次のようにすることができます。 1)Adarshが述べたように、jarファイルをWEB-INF/libフォルダに入れます。 2)あなたのTomcatの実行コンフィギュレーションで、ClassPathをクリックしてUser Entityをクリックし、次にjarを選択してjarを選択して追加します。

+0

EclipseからTomcatの設定を実行しますか? – Dejell

+0

Javaのパースペクティブで、tomcatを起動するには、そこにあるメニューでrun configurationという名前のオプションを選択します。 – Ranger

関連する問題