部署到Linux並配置Java定時任務

來源:互聯網
上載者:User

標籤: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定時任務

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.