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

Java cmd运行jar包的问题
3. 其次用了这个方法Java cmd运行jar包的问题
4. 上述问题的原因可能是

首先介绍下java.ext.dirs参数的使用和环境变量:java中系统属性java.ext.dirs指定的目录由ExtClassLoader加载器加载,如果您的程序没有指定该系统属性(-Djava.ext.dirs=sss/lib)那么该加载器默认加载JAVAHOME/lib/extjarJAVA_HOME/lib/ext目录下的所有jar文件。但如果你手动指定系统属性且忘了把JAVA_HOME/lib/ext路径给加上,那么ExtClassLoader不会去加载$JAVA_HOME/lib/ext下面的jar文件,这意味着你将失去一些功能,例如java自带的加解密算法实现

最后按照java -jar命令运行jar包时指定外部依赖jar包中的方法三解决了。但是命令行中如何使用尚不清楚,还需要学习
按方法三解决的效果如图:
Java cmd运行jar包的问题
DingDing.jar中的配置文件如下:增加了Class-path
Java cmd运行jar包的问题

相关文章: