- 首先发现在cmd中运行Java -jar DingDing.jar时,由于DingDing引入了外部jar包,Java找不到而无法运行
3. 其次用了这个方法
4. 上述问题的原因可能是
首先介绍下java.ext.dirs参数的使用和环境变量:java中系统属性java.ext.dirs指定的目录由ExtClassLoader加载器加载,如果您的程序没有指定该系统属性(-Djava.ext.dirs=sss/lib)那么该加载器默认加载
J
A
V
A
H
O
M
E
/
l
i
b
/
e
x
t
目
录
下
的
所
有
j
a
r
文
件
。
但
如
果
你
手
动
指
定
系
统
属
性
且
忘
了
把
JAVA_HOME/lib/ext目录下的所有jar文件。但如果你手动指定系统属性且忘了把
JAVAHOME/lib/ext目录下的所有jar文件。但如果你手动指定系统属性且忘了把JAVA_HOME/lib/ext路径给加上,那么ExtClassLoader不会去加载$JAVA_HOME/lib/ext下面的jar文件,这意味着你将失去一些功能,例如java自带的加解密算法实现
最后按照java -jar命令运行jar包时指定外部依赖jar包中的方法三解决了。但是命令行中如何使用尚不清楚,还需要学习
按方法三解决的效果如图:
DingDing.jar中的配置文件如下:增加了Class-path
在新一次的运行DingDing_DaiMaLiang时,新引入了fastjson包,发现无法运行,写成
后可以运行,但钉钉机器人出现了乱码
最后命令行用
解决乱码问题Java -jar形式运行Jar包出现乱码问题