打包发布数据库驱动问题

使用“java -Dapp.home=/opt/app_home -jar xxx.jar” 启动的命令

再生产 的linux环境启动后显示 :
WARN c.z.hikari.util.DriverDataSource - Registered driver with
driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.

找不到驱动。

1 个赞

把数据库驱动加到 build.gradle 再打包试试。

image
请问是这一句 么 还是 其他的依赖啥的

应该是添加依赖

加入了依赖,可还是 不行 ,是需要在哪里配置么。

jar 是用 UberJar 的方式构建的吗?

image
是的

好的,我这边试验一下,看看能不能重现你的问题。

非常感谢 Windows下是没有问题的,生产的linux就 提示这个错误

你如果使用 jdbc(mysql)这种方式,那可能会有点区别。本质上这个做法是使用 provide,也就是运行环境提供。你改成 compile 或者 implementation,这就直接加入输出的 jar 了。
不过这个问题我没遇到过,uberjar 每次都包含了
CleanShot 2021-11-26 at 09.47.15@2x

好的,非常感谢,这边还没有验证,回头打包的时候试一下