2013-12-10 22 views
0

我收到此錯誤的Java EE - 找不到ojdbc雖然它是有

Cannot find class [oracle.jdbc.pool.OracleDataSource] for bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/datasource-config.xml]; nested exception is java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleDataSource 

雖然這個>picture說別的東西。我正在關注YouTube教程,視頻中的人沒有任何問題,並且一切似乎都正常。我只是在學習,所以我不知道還有什麼應該在這裏發佈,所以如果有更多需要的東西告訴我。我可以發佈一些源代碼,但到目前爲止,它僅僅是Spring,Tomcat以及maven和簡單JSP頁面的很多xml配置文件。

在此先感謝

+0

也許我的回答是類似的[問題](http://stackoverflow.com/questions/20442002/java-ee-and-jpa-under-glassfish-noclassdeffound-com-mysql-jdbc-resultsetmetadat/20443198#comment30583569_20443198 )可以對你有所幫助。 – remigio

回答

0

您的圖片只是說要實例化一個OracleDataSource,但對於這個工作,你必須打包應用程序,以便ojdbc是在運行時類路徑。根據您的環境,有很多方法可以做到這一點。在WAR的簡單情況下,您可以:

  • ojdbc.jar放在您的servlet容器的lib目錄中。在Tomcat 6中,這將是$CATALINA_HOME/lib目錄,我想你是通過日誌窗口使用Tomcat的。
  • ojdbc.jarWEB-INF/lib目錄中的WAR內(不是真的建議,除非你知道如何處理類加載器問題/泄漏,並考慮這個問題,我想你不這樣做)

如果你的應用程序是EAR或某些獨立的應用程序,您必須找出您的環境如何組織其類路徑,然後將ojdbc.jar放在其中。

+0

謝謝,這很有幫助,然後我得到了一些更多的錯誤,但他們並沒有涉及到這個話題,所以我只會接受並轉向調試:D – user3086577