SpringBoot分离lib和resources打包后,添加oracle驱动到lib后,一直提示无法找到驱动程序
SpringBoot分离lib和resources打包后,添加oracle驱动到lib后,一直提示无法找到驱动程序
BUG来源
在开发的过程中,需要用到oracle数据库,所以在工程里引入了oracle驱动
同样,我也进行了ojdbc.jar安装到本地仓库的过程,至此,程序能加载到oracle驱动了
但是问题了,在springboot打包时,一直package失败,原因是在maven中央仓库无法找到对应的ojdbc驱动,所以我就在pom文件里面先注释掉了oracle的驱动的依赖,之后打包成功。因为分离了lib和resources,所以打包后项目结构如下
让我百思不得其解的来了
因为pom.xml注释掉了oracle驱动,所以这时候lib文件夹中并没有包含ojdbc.jar,所以我就直接复制ojdbc.jar到lib文件夹中,但是运行的时候,一直提示无法找到com.orace.driver.oracleDriver,证明应该是oracle驱动找不到。但是想想之前做的都可以,为什么直接放在lib下会不行呢,百度了一下,很多都是maven安装ojdbc到本地库的方法,和这个BUG没mao关系。
解决办法
打开打包好的xxx.jar(用winrar),\META-INF\MANIFEST.MF
,打开之后,你就能看到引用的jar了,看到这边明白了不仅仅是把外部jar放到lib文件夹下这么简单,还需要在这个MANIFEST.MF文件添加你的jar
保存文件,重新运行项目,问题解决