Java cmd运行jar包的问题

  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版权协议,转载请附上原文出处链接和本声明。