Java EE - 虽然它在那里但找不到ojdbc

时间:2013-12-10 11:18:00

标签: oracle java-ee jdbc

我收到此错误

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配置文件。

提前致谢

1 个答案:

答案 0 :(得分:0)

您的图片仅表示您要实例化OracleDataSource,但为了实现此目的,您必须打包应用程序,以便ojdbc在运行时位于类路径中。根据您的环境,有很多方法可以做到这一点。在WAR的简单情况下,您可以:

  • ojdbc.jar放入servlet容器的lib目录中。在Tomcat 6中,那将是$CATALINA_HOME/lib目录,我猜您在日志窗口中使用Tomcat。
  • 捆绑ojdbc.jar在你的WAR的WEB-INF/lib目录中(除非你知道如何处理类加载器问题/泄漏,并且考虑到这个问题我想你不这样做,所以不推荐)

如果您的应用程序是EAR或某个独立应用程序,则必须了解您的环境如何组织其类路径,然后将ojdbc.jar放在其中的某个位置。