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

相关推荐
Caster_Z1 天前
IntelliJ IDEA 安装 Qoder CN (Formerly Lingma)
java·ide·intellij-idea
LINgZone21 天前
Maven多模块依赖管理与私有JAR包策略
java·maven·jar
一嘴一个橘子1 天前
idea 的 双击Shift 全局搜索
java·ide·intellij-idea
nvvas1 天前
最新版 IntelliJ IDEA 全面介绍:面向现代 Java 开发者的智能 IDE
java·ide·intellij-idea
豆角焖肉2 天前
SSM 聚合项目搭建:多 Maven 模块项目
开发语言·python·pycharm
典典分享指南2 天前
Python-docx 批量生成带图营销文:文字图片分离与排版定位
servlet·intellij-idea·java-consul·java-activemq
deng12042 天前
Maven多模块父子工程与IDEA导入异常排查记录
人工智能·maven·intellij-idea
承渊政道2 天前
【Python编程—从入门到实践】(Python操作列表深度教程:循环、切片、元组与代码风格)
开发语言·python·pycharm·列表·元组·切片
相顾若初见2 天前
RuoYi后端jar镜像制作
java·jar
布值倒区什么name2 天前
Pycharm2026找不到编译器 点击运行运行不了
开发语言·python·pycharm