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
在这里插入图片描述
保存文件,重新运行项目,问题解决

至此,问题解决

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven 是一个构建工具,用于管理和构建 Java 项目的依赖关系。在 Maven 中,lib 是指项目所需的第三方库文件,而 jar 是指项目本身的可执行文件。 在 Maven 中,可以通过配置来实现 lib 和 jar 分离打包。主要的步骤如下: 1. 在项目的 pom.xml 中,配置 Maven 的插件和属性。 2. 在 pom.xml 中,通过配置 dependencies 标签来管理项目所需的依赖库。将需要的库文件的 groupId、artifactId 和版本号等信息填写在 dependencies 中。 3. 设置打包方式。通过配置 Maven 的插件,将项目编译为一个可执行的 jar 文件,并将所有依赖的库文件打包为一个单独的 lib 目录。 4. 配置 Maven 的插件实现打包。可以使用 Maven 自带的插件如 maven-jar-plugin 和 maven-dependency-plugin 来实现分离打包。 5. 运行 Maven 命令进行项目构建和打包。 在执行以上步骤后,Maven 会根据 pom.xml 中的配置,将项目本身的可执行 jar 文件和所有的依赖库文件分别打包。项目本身的 jar 文件将通过 maven-jar-plugin 插件生成,并存放在 target 目录下。而所有的依赖库文件将通过 maven-dependency-plugin 插件生成,并存放在 target 目录下的 lib 目录中。 通过以上的操作,我们可以实现 lib 和 jar 分离打包。这样,在部署项目时,只需要将项目本身的 jar 文件和 lib 目录一起拷贝到目标环境中即可。这样可以减小发布包的大小,并且便于管理和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值