我编写了一个JSF应用程序,该应用程序使用到Oracle数据库的连接。我在本地Tomcat(7.0版)上验证了一切正常。然后,当部署到一个带有Tomcat7的服务器上时,我不会管理它,我会抛出以下错误:
Caused by:
java.lang.NoClassDefFoundError - Could not initialize class oracle.jdbc.driver.OracleDriver
在我的本地系统上,CATANIA_HOME/lib中有Oracle JDBC驱动程序(11.2.0.4版本)。根据我所掌握的部署服务器信息,它们使用完全相同的驱动程序。
目前,我使用的是一个非常基本的JSF软件,它只执行
Class.forName("oracle.jdbc.driver.OracleDriver");
页面加载时。同样,在我的本地系统上运行良好。在部署服务器上失败。我想他们可能错过了包含驱动程序,尽管他们写了,但他们把它放进去了。所以我把ojdbc5.jar添加到了WEB-INF/lib中。然而,随后我抛出了一个SealingViolation,这似乎表明类加载器找到了两个包含oracle驱动程序的资源。
如果你能给我一些关于如何解决这个问题的提示,我会非常高兴。
感谢
只需将驱动程序jar放在您的WEB-INF/lib文件夹中,在我的情况下,我放了ojdbc6.jar,您的项目中必须有一个ojdbc6.jar,希望这能帮助