今天大概耗费了快一天的时间研究怎么用脚本执行java程序,终于实现了,分享一下java
(1)在linux下写一个.sh文件linux
(2)文件内容以下:bash
#!/bin/sh //bash文件头spa
APP_HOME=/home/blmcrm/crm/A //要执行的java文件中bin文件的上一个目录,个人目录 是/home/blmcrm/crm/A/bin/blm......(后面不写了),总之就是写bin目录 前面的部分,由于jar包在bin目录里面,若是不在bin里面,也如此改一下 就行orm
CLASSPATH=$APP_HOME/bin //bin目录固然是包含jar包的目录啦内存
for i in "$APP_HOME"/bin/*.jar //引进全部的jar包,这里用的循环,固然也能够按照这个格式一个一个 写it
do class
CLASSPATH="$CLASSPATH":"$i" //环境变量就这格式变量
done循环
export CLASSPATH=.:$CLASSPATH //不写这个可能会说找不到main类
echo ${CLASSPATH} //打印环境变量,能够不写
java -Xms50m -Xmx250m org.gdh.blm.exec.Syslog_csv
exit(结束) //执行java程序, 其中-Xms50m -Xmx250m是运行内存什么的设置,后面的是bin目录之后一直到.class的路径,个人是Syslog_csv.class,因此我最后那个是Syslog_csv。
不知道写的详不详细,每一个人状况不同,仅供参考,可是设置的时候环境变量是最重要的,我就是环境变量一直不对,老是按网上查到的来,不明白怎么回事,才一直出错,其实环境变量就是你要执行的java程序所在的位置,对了,.sh的执行是在终端输入sh aa.sh