Java -cp 命令行引用多个jar包的简单写法(Windows、Linux)

时间:2022-12-22 16:25:14

1、Windows下用法

在Windows上,可以使用

java your-jar-lib-folder/* your-main-class

your-jar-lib-folder为存放一堆jar文件的路径。

your-main-class为要运行的具有main方法的主类。

JDK 1.7及以上版本支持该写法。

2、Linux下用法

在Linux上,这样写似乎并不支持,通配符转换后的文件路径用空格分隔,导致JAVA虚拟机只能认到前面一个。解决办法,使用SHELL脚本拼接:

export  CLASSPATH=`find$your-jar-lib-folder  -name  *.jar | xargs | sed  "s/ /:/g"`

这里$your-jar-jar-folder为包含jar的路径变量,可以用export 设置,也可以写绝对路径,执行完后,就是把一大堆jar包用":"拼接在一起了。然后使用该类路径变量:

java -cp $CLASSPATH your-main-class param1 param2...

param1,param2为其他要传入的运行参数。

3、通过指定Java扩展包路径变量(Windows、Linux均可使用)

在java参数中加入虚拟机参数:

java -Djava.ext.dirs=your-jar-lib-folder your-main-class

该方法对整个虚拟机都会有影响,如果Java加载的包需要相互隔离,则不适宜。