ssm项目连接oracle数据库报错

前言

公司ssm项目,连接oracle数据库。

启动Tomcat,项目能够跑起来,但是登录长时间加载然后报错500,服务器异常;看后台日志说是什么不能连接oracle数据库,通过断点发现,是的,能够进入方法,但是一到操作数据库时就直接异常。

只报数据库连接问题:1.检查配置文件 2.用配置文件数据库url信息,通过可视化工具看是否能正常链接。操作下来发现没问题,遇事不决重新编译(clean-compile)。
在这里插入图片描述

发现新问题,编译不能成功:dependency: com.oracle:ojdbc14:jar
jar包依赖问题

完整报错

1.java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
2.[ERROR] dependency: com.oracle:ojdbc14:jar:10.2.0.2.0 (compile)

原因

从日志中可以看出,应用在初始化数据库连接池(C3P0)时抛出了 ClassNotFoundException: oracle.jdbc.driver.OracleDriver 异常,核心问题是缺少 Oracle 数据库驱动程序

解决

  1. 缺少驱动,检查项目是否有lib文件夹 / xx.jar包
    在这里插入图片描述
    一般成功引用时,xx.jar左边会有一个小箭头,没有的话鼠标右击jar,弹出框右下角会有一个Add as Library
    完成引用后重新编译(clean-compile)
  2. 如果还是失败就是下述原因:
  • 手动添加库的作用范围有限:在 IDE 里右键添加 JAR 文件作为库,只会对 IDE 自身的编译和运行环境起作用,Maven 构建过程不会参考这个配置。
  • Maven 强制依赖解析:Maven 构建严格遵循 pom.xml 中的依赖配置,会尝试从指定的仓库下载依赖,而不会使用 IDE 手动添加的库。
  • Oracle 驱动许可限制:Oracle JDBC 驱动受许可限制,无法从公共 Maven 仓库获取,所以需要特殊处理。
    解决:
    1.项目没有则去,下载对应oracle的jdbc的jar包,执行2
    2.将本地的项目中的jar包导入本地的maven仓库
mvn install:install-file -Dfile="D:/IDEA_Space/project/ojdbc14-10.2.0.2.0.jar" -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.2.0 -Dpackaging=jar

-Dfile:写明你本地jar包所在位置
重新打包(clean-compile)

其他

如果上述两个方法还是不能解决你的问题,或者有更好解决方式,请发表留言友好交流。
仓库拉下ssm项目配置启动

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐