idea启动正常,打成jar包时,启动报错

背景

自己写了个小程序,在idea中启动正常,达成jar包发布时,启动报错。

Caused by: java.sql.SQLException: unknown jdbc driver :

at com.alibaba.druid.util.JdbcUtils.getDriverClassName(JdbcUtils.java:517)

at com.alibaba.druid.pool.DruidDataSource.resolveDriver(DruidDataSource.java:1203)

at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:887)

at com.alibaba.druid.pool.CoreDruidDataSource.init(CoreDruidDataSource.java:71)

... 152 common frames omitted

其实和报错本身没有关系,被报错误导,检查了半天jar包内容和maven的打包命令,结果是jar包启动命令的问题。

原因

我的启动命令如下:

shell 复制代码
java -jar .\zcm-docreader.jar -DCONFIG_HOME=D:\workspace\myapp\CONFIG_HOME 

如上所示,我将配置文件外挂,并通过环境变量来告诉应用外挂的配置文件目录。

然而java -jar启动命令中,参数不能放在jar包后面,或者说jar包路径要放在命令的最后面,否则命令读到了jar包路径后,后面的内容将会被忽略。

因为这个原因,导致我的应用没有读到配置文件,从而一直报驱动不存在。实属误导。

解决方案

将jar包路径放在命令的最后面。

如下:

shell 复制代码
java -jar -DCONFIG_HOME=D:\workspace\myapp\CONFIG_HOME .\zcm-docreader.jar

因为jar包路径后面的内容会被忽略,从而导致出现其他问题,这边记录一下,希望能帮到其他踩坑的人。

相关推荐
刘恒1234567898 小时前
Pycharm
ide·python·pycharm
亲爱的非洲野猪18 小时前
Spring Boot 与传统 Spring:从 WAR 到可执行 JAR,颠覆性的部署哲学
spring boot·spring·jar
刘 大 望2 天前
网络编程--TCP/UDP Socket套接字
java·运维·服务器·网络·数据结构·java-ee·intellij-idea
pingcode2 天前
IDEA2022开启新版UI
intellij-idea
Monly212 天前
IDEA:控制台中文乱码
java·ide·intellij-idea
多工坊3 天前
【DataGrip】连接达梦数据库后,能查询数据但是看不到表的几种情况分析,达梦数据库驱动包下载DmJdbcDriver18.jar
java·数据库·jar
ACGkaka_3 天前
Mac(十)设置右键文件夹使用 idea、vscode 打开
vscode·macos·intellij-idea
孟婆来包棒棒糖~3 天前
Maven快速入门
java·spring boot·spring·maven·intellij-idea
若行若冲3 天前
Idea中 lombok 在“测试类中-单元测试”运行失败及解决方法
单元测试·log4j·maven·intellij-idea·lombok
Jia-Hui Su3 天前
GDSFactory环境配置(PyCharm+Git+KLayout)
git·python·pycharm