標籤:jxl adl 2.4 程式開發 127.0.0.1 detail apr pat share
Java項目部署到Linux並配置定時任務53447391
1、在Eclipse中將程式開發好,並進行編譯成.class檔案
2、在linux中建立對應的目錄,本人在linux中建立StatShareDataProject 目錄用來存放程式,同時在這個目錄下建立如下所示的一些目錄與檔案,其中srcData程式中所要用的資料,log日誌目錄,lib 程式所用的jar包,將程式運行所需要的檔案移動到對應的目錄
這裡寫圖片描述
本人程式在Eclipse中的目錄發下,因而在linux下同樣是建立entity,main,utils目錄
這裡寫圖片描述
3、linux的目錄建立好便可將eclipse編譯好的.class檔案上傳到對應的目錄
eg:
這裡寫圖片描述
4、接下來便是編寫啟停指令碼
這裡寫圖片描述
內容如下:
!/bin/sh
source /etc/profile
NAME=StatShareDataProject
echo "—-Kill $NAME—-"
ID= ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk ‘{print $2}‘
echo $ID
for id in $ID
do
kill -9 $id
echo "kill $id"
done
echo "—-!!—-"
cd /root/yechunbo/project/StatShareDataProject
JAVA_OPTS="-server -Xms256m -Xmx1024m -XX:-UseGCOverheadLimit -DappName=StatShareDataProject -Djava.rmi.server.hostname=127.0.0.1 -Djava.NET.preferIPv4Stack=true -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:Pa
rallelGCThreads=8"
nohup java -classpath .:./lib/commons-codec-1.6.jar:./lib/commons-logging.jar:./lib/dom4j-1.6.1.jar:./lib/commons-lang-2.4.jar:./lib/commons-logging-1.1.1.jar:./lib/fluent-hc-4.2.5.jar:./lib/httpclient-4.2.5.j
ar:./lib/httpclient-cache-4.2.5.jar:./lib/httpcore-4.2.4.jar:./lib/httpmime-4.2.5.jar:./lib/json-20080701.jar:./lib/jsoup-1.9.2.jar:./lib/json-lib-2.2.3-jdk15.jar:./lib/jxls-core-1.0.jar:./lib/statShare.jar:./
lib/log4j-1.2.17.jar $JAVA_OPTS main.StatBasicData &
18
注意:$JAVA_OPTS main.StatBasicData 這個是對應要啟動的類,這裡main.StatBasicData :main對應的是目錄,StatBasicData 對應的是目錄下的類名,StatBasicData .class中又有對應的main方法;
這裡.:./lib/commons-codec-1.6.jar …就是該程式運行所需要的jar包
stop.sp指令碼
這裡寫圖片描述
內容如下:
!/bin/sh
NAME=StatShareDataProject
echo "—-Kill $NAME—-"
ID=ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk ‘{print $2}‘
echo $ID
for id in $ID
do
kill -9 $id
echo "kill $id"
done
echo "—-!!—-"
5、編寫完啟停指令碼就可運行
這裡寫圖片描述
看到程式正常運行輸出的日誌便算程式部署成功了。
6、測試stop.sh
這裡寫圖片描述
7、配置定時任務
這裡寫圖片描述
觀察定時任務的執行結果
注意:
在配置定時任務時,出現了定時任務有執行但是程式並沒有運行,但是通過手動運行程式時程式卻可以正常運行,後來發現是指令碼編寫的有問題。之前編寫的指令碼是通過將整個程式打包成jar包這種方式來運行,發現定時任務執行不了這種方式的指令碼才換用如上形式。
通過定時任務執行程式時nohup.out是不會有輸出的,手工執行才在nohup.out中有對應的輸出。
部署到Linux並配置Java定時任務