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包路径后面的内容会被忽略,从而导致出现其他问题,这边记录一下,希望能帮到其他踩坑的人。

相关推荐
一勺菠萝丶3 分钟前
Rider下Avalonia 项目启动问题完整解决方案
intellij-idea
bemyrunningdog1 小时前
IntelliJ IDEA合并分支到master全攻略
大数据·elasticsearch·intellij-idea
西柚小萌新1 小时前
【Python从入门到精通】--Pycharm增加内存
开发语言·python·pycharm
FIavor.1 小时前
Cannot resolve plugin org.apache.maven.plugins:maven-jar-plugin:3.2.2 这怎么办
maven·apache·jar
相与还13 小时前
IDEA和GIT实现cherry pick拣选部分变更到新分支
git·elasticsearch·intellij-idea
StarPrayers.15 小时前
旅行商问题(TSP)(2)(heuristics.py)(TSP 的两种贪心启发式算法实现)
前端·人工智能·python·算法·pycharm·启发式算法
Wx-bishekaifayuan16 小时前
基于微信小程序的社区图书共享平台设计与实现 计算机毕业设计源码44991
javascript·vue.js·windows·mysql·pycharm·tomcat·php
paoqi 包奇17 小时前
pycharm中使用anaconda指定虚拟环境
ide·python·pycharm
Chan1618 小时前
流量安全优化:基于 Sentinel 实现网站流量控制和熔断
java·spring boot·安全·sentinel·intellij-idea·进程
雨过天晴而后无语1 天前
Windchill的codebase目录打成jar
java·jar