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

相关推荐
TheManba16 分钟前
04. maven 三种项目打包方式 pom、jar、war 的区别(记一次 Spring 项目启动报错)
spring·maven·jar
易雪寒2 小时前
IDEA在git提交时添加忽略文件
java·git·intellij-idea
莫负初4 小时前
Pytest 使用Pycharm右键直接运行测试脚本正常,控制台命令pytest运行收集不到用例无法正常测试 no tests ran in 0.01s
ide·pycharm·pytest
Zww08915 小时前
idea插件市场安装没反应
java·ide·intellij-idea
一个闪现必杀技14 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
陈苏同学15 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO15 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
计算机学姐20 小时前
基于SpringBoot+Vue的在线投票系统
java·vue.js·spring boot·后端·学习·intellij-idea·mybatis
没有余地 EliasJie1 天前
Windows Ubuntu下搭建深度学习Pytorch训练框架与转换环境TensorRT
pytorch·windows·深度学习·ubuntu·pycharm·conda·tensorflow
Jason不在家1 天前
Flink 本地 idea 调试开启 WebUI
大数据·flink·intellij-idea