linux下执行java程序的sh脚本分享
投稿:hebedich
这篇文章主要介绍了linux下执行java程序的sh脚本,仅供参考,但是设置的时候环境变量是最重要的,我就是环境变量一直不对,总是按网上查到的来,不明白怎么回事,才一直出错,其实环境变量就是你要执行的java程序所在的位置
今天大概耗费了快一天的时间研究怎么用脚本执行java程序,终于实现了,分享一下
(1)在linux下写一个.sh文件
(2)文件内容如下:
复制代码 代码如下:
#!/bin/sh //bash文件头
APP_HOME=/home/blmcrm/crm/A //要执行的java文件中bin文件的上一个目录,我的目录是/home/blmcrm/crm/A/bin/blm......(后面不写了),总之就是写bin目录前面的部分,因为jar包在bin目录里面,如果不在bin里面,也如此改一下就行
CLASSPATH=$APP_HOME/bin //bin目录当然是包含jar包的目录啦
for i in "$APP_HOME"/bin/*.jar //引进所有的jar包,这里用的循环,当然也可以按照这个格式一个一个 写
do
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