今天大概耗費(fèi)了快一天的時(shí)間研究怎么用腳本執(zhí)行java程序,終于實(shí)現(xiàn)了,分享一下
(2)文件內(nèi)容如下:
#!/bin/sh //bash文件頭
APP_HOME=/home/blmcrm/crm/A //要執(zhí)行的java文件中bin文件的上一個(gè)目錄,我的目錄是/home/blmcrm/crm/A/bin/blm......(后面不寫了),總之就是寫bin目錄前面的部分,因?yàn)閖ar包在bin目錄里面,如果不在bin里面,也如此改一下就行
CLASSPATH=$APP_HOME/bin //bin目錄當(dāng)然是包含jar包的目錄啦
for i in "$APP_HOME"/bin/*.jar //引進(jìn)所有的jar包,這里用的循環(huán),當(dāng)然也可以按照這個(gè)格式一個(gè)一個(gè) 寫
do
CLASSPATH="$CLASSPATH":"$i" //環(huán)境變量就這格式
done
export CLASSPATH=.:$CLASSPATH //不寫這個(gè)可能會(huì)說找不到main類
echo ${CLASSPATH} //打印環(huán)境變量,可以不寫
java -Xms50m -Xmx250m org.gdh.blm.exec.Syslog_csv
exit(結(jié)束) //執(zhí)行java程序, 其中-Xms50m -Xmx250m是運(yùn)行內(nèi)存什么的設(shè)置,后面的是bin目錄以后一直到.class的路徑,我的是Syslog_csv.class,所以我最后那個(gè)是Syslog_csv。
不知道寫的詳不詳細(xì),每個(gè)人情況不一樣,僅供參考,但是設(shè)置的時(shí)候環(huán)境變量是最重要的,我就是環(huán)境變量一直不對(duì),總是按網(wǎng)上查到的來,不明白怎么回事,才一直出錯(cuò),其實(shí)環(huán)境變量就是你要執(zhí)行的java程序所在的位置,對(duì)了,.sh的執(zhí)行是在終端輸入sh aa.sh