Java EE - 找不到 ojdbc,尽管它在那里
Posted
技术标签:
【中文标题】Java EE - 找不到 ojdbc,尽管它在那里【英文标题】:Java EE - Cannot find ojdbc although it is there 【发布时间】:2013-12-10 11:18:00 【问题描述】:我收到了这个错误
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的xml配置文件和简单的JSP页面。
提前致谢
【问题讨论】:
也许我对类似question 的回答可能对您有所帮助。 【参考方案1】:您的图片仅表示您要实例化OracleDataSource
,但要使其工作,您必须打包您的应用程序,以便 ojdbc 在运行时位于类路径中。根据您的环境,有很多方法可以做到这一点。在 WAR 的简单情况下,您可以:
ojdbc.jar
放入servlet 容器的lib
目录中。在 Tomcat 6 中,这将是 $CATALINA_HOME/lib
目录,我猜你正在通过日志窗口使用 Tomcat。
将ojdbc.jar
捆绑在您的WAR 的WEB-INF/lib
目录中(除非您知道如何处理类加载器问题/泄漏,并且考虑到这个问题我想您不知道,否则不建议这样做)
如果您的应用程序是 EAR 或某个独立应用程序,您将必须了解您的环境如何组织其类路径,然后将 ojdbc.jar 放在其中的某个位置。
【讨论】:
谢谢,这很有帮助,然后我遇到了一些错误,但它们与这个主题无关,所以我会接受并继续调试:D以上是关于Java EE - 找不到 ojdbc,尽管它在那里的主要内容,如果未能解决你的问题,请参考以下文章
从命令行创建 AVD 失败;消息说找不到 java.se.ee
ubuntu下eclipse java ee首次打开提示找不到jdk的问题
eclipse上点击open Perspective找不到java EE的解决办法
Java EE 6 SDK 卸载“找不到所需的 Java(TM) 2 运行时环境版本”
使用 buildozer 打包我的 kivy 应用程序时如何修复“java.lang.module.FindException:找不到模块 java.se.ee”错误