linux 通過sh腳本執行java程序


由於shell在邏輯上不便於處理較復雜的邏輯,而java正好善於處理此種類型,因此如果能夠在linux上通過shell腳本來執行java程序,那么將會是一件非常優雅的事情。因此在這里記錄下shell腳本執行java程序的步驟:

其實總體來說只有一個條件:安裝了jdk,並且配置了CLASSPATH,然后把你相應的jar包加入CLASSPATH即可。

安裝jdk后有些新的版本會自動給你設定CLASSPATH變量,但是很多jdk版本還是要自己設置的,查看系統變量CLASSPATH的linux命令很間的那:echo $CLASSPATH,如果沒有加入相應的jdk路徑,請加入,主要是jdk主目錄和jre目錄,例如我的是:/usr/local/jdk/:/usr/local/jdk/jre/:。就是上述格式,按照你的jdk安裝目錄,進行配置即可。

然后把你要執行的java類打包成jar包,同時作為啟動的class類,必須要有main方法,這個也就是默認的執行方法。然后把你的jar包的路徑(具體到jar包名)加入變量CLASSPATH中即可,然后通過"java com.demo.test"(com.demo.test為你的java類的具體類名)命令來啟動你的java類。例如我的sh腳本大致內容如下;

#!/bin/bash
APP_HOME=/home/root1/test
APP_CLASSPATH=$APP_HOME/bin
jarList=$(ls $APP_CLASSPATH|grep jar)
echo $jarList
for i in $jarList
do
 APP_CLASSPATH="$APP_CLASSPATH/$i":
done
echo $APP_CLASSPATH
export CLASSPATH=$CLASSPATH:$APP_CLASSPATH
echo $CLASSPATH
java -Xms50m -Xmx250m com.linux.FirstLinux
echo Linux Test End
exit

如果想要實現定時啟動,可以使用linux的crontab -e命令,在其中加入你要啟動的sh腳本即可,非常簡單,例如我的是:

* 5 * * * //home/root1/test/shjava.sh 90

具體的請參看百度,這個很簡單的哈哈。

總體來說就一個原則:把你的jar包加入CLASSPATH變量中,然后通過java 具體類型(包含main方法)來啟動即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM