1. 首先发现在cmd中运行Java -jar DingDing.jar时,由于DingDing引入了外部jar包,Java找不到而无法运行

其中第一行是报了Java和javac不一致的错,但我检查了发现版本一致的???
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/extjarJAVA_HOME/lib/ext路径给加上,那么ExtClassLoader不会去加载$JAVA_HOME/lib/ext下面的jar文件,这意味着你将失去一些功能,例如java自带的加解密算法实现

最后按照java -jar命令运行jar包时指定外部依赖jar包中的方法三解决了。但是命令行中如何使用尚不清楚,还需要学习
按方法三解决的效果如图:
在这里插入图片描述
DingDing.jar中的配置文件如下:增加了Class-path
在这里插入图片描述在新一次的运行DingDing_DaiMaLiang时,新引入了fastjson包,发现无法运行,写成
在这里插入图片描述
后可以运行,但钉钉机器人出现了乱码
在这里插入图片描述最后命令行用在这里插入图片描述
解决乱码问题Java -jar形式运行Jar包出现乱码问题


版权声明:本文为qq_39498153原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_39498153/article/details/102968208