有时候我们需要用sh或者bat启动java线程,大多数时候需要加载的jar文件很多,这时候我们都是一个一个的jar文件往启动文件中书写。说实在话俺也是这样写了一年多,相当痛苦。有时候jar文件有几十个,并且刚开始也不会命令换行,在一行上写尤其痛苦。o(︶︿︶)o 唉
最后终于受够了这样的日子,想了办法。发现还真的可以一次性把一个文件夹中的所有jar文件加载到环境变量中。下面这个脚本就是在linux上的一个例子,实在不好意思各位,俺的工程大多跑在linux上,windows的暂时还不会写。嘿嘿。有会写的不妨留言补充下,在此也学些了!
#!/bin/sh export JAVA_HOME=/var/lib/java export PROJECT_HOME=/home/runner/***/WebRoot/WEB-INF export PATH=$JAVA_HOME/jre/bin:$PATH export CLASSPATH=$JAVA_HOME/jre/lib:$PROJECT_HOME/classes:$CLASSPATH # add all the jar for loop in `ls $PROJECT_HOME/lib/*.jar`;do export CLASSPATH=${loop}:${CLASSPATH} done java com.****.java....
详细脚本解释如下:
#!/bin/sh shell环境,这个不解释了,不懂得学习强力学习linux。
export JAVA_HOME=/var/lib/java java_home变量,export相当于window的import。
export PROJECT_HOME=/home/runner/***/WebRoot/WEB-INF 设置一个工程路径变量
export PATH=$JAVA_HOME/jre/bin:$PATH 将java home放入到系统path中,便于下面的java命令直接执行,否则要写java的全路径,比较麻烦。
export CLASSPATH=$JAVA_HOME/jre/lib:$PROJECT_HOME/classes:$CLASSPATH 设置下CLASSPATH
# add all the jar for loop in `ls $PROJECT_HOME/lib/*.jar`;do export CLASSPATH=${loop}:${CLASSPATH} done
上面的这几行就是导入工程下lib目录下的所有的jar到CLASSPATH,注意大家要按照自己的工程实际路径响应调整。
java com.****.java.... 这个你懂的,否则你需要学习java了,偷笑。
自己原创心得,欢迎拍砖!