1) 在ECLIPSE下面EXPORT成為抄RUNNABLE JAR FILE。
2)拷貝1)中生成的JAR包,到LINUX中去。
3)隨便搞個什麼名字的.SH文件,裡面輸入java -jar XXX.jar
B. Linux下運行jar包的幾種方式
1 阻塞式方式
java -jar xxx.jar
特點: 當前終端的會話窗口被阻塞, 可按CTRL + C中斷程序的運行, 或者直接關閉會話窗口 —— 此時jar程序將終止.
2 後台運行方式
# 通過"&"符號實現後台運行:
java -jar xxx.jar &
特點: 當前終端的會話窗口不會被阻塞, 但是如果關閉當前窗口, 程序將終止運行.
3 後台持續運行方式
# 通過"nohup"命令實現後台運行:
nohup java -jar xxx.jar &
nohup命令是不掛斷運行命令的意思.
特點: 當用戶退出或終端關閉時, 程序的運行不受影響.
說明: 用nohup命令運行任務時, 默認情況下這個任務的所有輸出都將被重定向到nohup.out文件中, 除非另外指定輸出文件. 指定輸出文件方式為:
# 將輸出重定向到xxx.log文件中:
nohup java -jar xxx.jar > xxx.log &
> 符號是重定向符, 實現: 把它之前命令的所有輸出信息重定向到後面的文件中, 而不是顯示到屏幕上.
C. nohup日誌文件過大
當nohup日誌文件過大時:
1. cat /dev/null >nohup.out 該命令會清理掉日誌內容,後續程序會繼續寫該文件
可以使用split定時分割日誌,到其它目錄下的文件,然後執行以上命令
2. 只記錄錯誤日誌
nohup java -jar *.jar >/dev/null 2>error.log 2>&1 &
3.不記錄任何日誌
nohup java -jar *.jar >/dev/null 2>&1 &
linux重定向:
0:表示標准輸出
1:標准輸出,在一般時使用,默認時標准輸出
2:表示錯誤信息輸出
D. nohup命令輸出日誌的方式
nohup ./start.sh & 默認輸出到nohup.out文件
nohup ./start.sh >output 2>&1 & 指定輸出到output文件
nohup java -jar xxx.jar >/dev/null 2>&1 & 不輸出日誌(避免日誌太大)
操作系統中有三個常用的流: 0:標准輸入流 stdin 1:標准輸出流 stdout 2:標准錯誤流 stderr 2>&1:表示把標准錯誤2重定向到標准輸出中1中,輸出到>文件中 (> console.txt,實際是 1>console.txt的縮寫)
E. putty中使用nohup命令運行jar包成功後,想不關閉窗口繼續輸入其他命令怎麼辦
nohupjava-jarXXX.jar>temp.txt&
放到後台執行。網頁鏈接 如何在後台運行 Linux 命令並且將進程脫離終端
F. linux增加了nohup啟動jar就無法啟動求助
給nohup 加個當前目錄的絕對路徑,試試
G. linux下jar包啟動命令,我用nohup java -jar + *.jar命令啟動,此時命令
nohup java -jar + *.jar &
這樣就可以再後台運行了。
liunx命令後+&為後台運行指令
H. linux如何啟動一個jar包
首先,使用編譯器把【Java】項目生成【Jar】包
總結
1
1.首先,使用編譯器把【Java】項目生成【Jar】包
2.隨後,打開我們常使用的連接軟體【Xshell】
3.隨後,進入【XShell】中,點擊上方【文件夾圖標】
4.隨後從【左邊的本地文件夾】內,移動到【線上伺服器中】
5.隨後,【cd】進入到剛剛我們移動的目錄內
6.啟動jar包的命令為【nohup java -jar cc-java-export &】
nohup:把輸出內容放入到nohup的日誌中並生成日誌文件
java -jar:啟動java的jar包命令
cc-java-export:此處放入你自己的jar包名稱
&:關閉linux連接時 服務不會掛斷
7.也可以把上方的代碼 及【配置參數】封裝到【.sh】的啟動腳本中
I. linux安裝jar命令
linux系統下jar是隨著jdk安裝的,所以安裝jar其實很容易。下面由我為大家整理了linux下安裝jar命令的相關知識,希望大家喜歡!
linux下安裝jar命令
jar是隨著jdk的安裝的。在jdk安裝的目錄下有bin目錄中,windows下的文件名為jar.exe,linux下文件名為jar.它的運行需要用到jdk安裝目錄下lib目錄中的tools.jar.
jar文件在linux下的安裝命令
首先安裝java 的jdk..並設置 java environment.
then the order is: [root@localhoat root]# java -jar /the directory and file name, include .jar
附:linux下jar命令用法詳解
jar的用法:
jar{ctxu}[vfm0M][jar-文件][manifest-文件][-c 目錄] 文件名。。。
{ctxu}是jar命令的子命令,每次jar命令中只可以包含一個ctxu中的一個,分別表示:
-c創建新的jar文件包 --常用於打包
-t列出jar文件包的內容列表
-x展開jar文件包的指定文件或者所有文件--常用於解開包
-u更新已經存在的jar文件包
[vmf0M]中可以選,也可以不選,是jar命令的選項參數:
-v生成詳細報告並列印到標准輸出
-f指定jar文件名,這個參數是必須的
-m指定需要包含的manfest清單文件
-0隻存儲不壓縮,速度快
-M不生成所有的清單文件
經常組合使用 cv0Mf/xvMf
補充:linux下運行jar包命令
java -jar xxxx.jar
Linux平台通過以下命令執行jar文件。 # java -jar file.jar
linux下執行jar文件方法:命令行下進入文件目錄,執行java -jar file.jar即可,也可在桌面創建一個啟動器,在命令欄填寫相關的命令:java -jar /file路徑/file.jar,這樣在桌面雙擊即可打開該jar文件 創建可執行的 JAR 文件包詳解:JAR 文件就是...
linux下執行jar文件方法:命令行下進入文件目錄,執行java -jar file.jar即可,也可在桌面創建一個啟動器,在命令欄填寫相關的命令:java -jar /file路徑/file.jar,這樣在桌面雙擊即可打開該jar文件 創建可執行的 JAR 文件包詳解:JAR 文件就是...
java -jar test.jar
在linux命令行下對jar進行解壓縮操作,比如有個jar包/usr/local/EtnetChinaApplication.jar #解壓jar包到臨時目錄cd /usr/localunzip EtnetChinaApplication.jar -d app#進入臨時目錄app,編輯文件ls app ...... log4j.properties xmemcache.prope...
java -jar xxxx.jar
nohup java -jar 啟動1.jar & nohup java -jar 啟動2.jar & nohup java -jar 啟動3.jar &
這個shell腳本的話應該只會影響當前的窗口,運行完程序後把窗口關閉,再新開窗口,你的JDK應該還是1.4的 如果不行的話,那就運行完程序,再export一遍1.4的JDK 只對當前窗口有影響,換用戶或者新開窗口都會變成1.4
不用用-cp, 有運行jar的-jar吧?或者jar 加什麼,你想你要的庫和主方法都在一個jar里,一般用不到-cp吧,除非你用到別的類庫不在jar里。
J. jenkins上使用shell腳本nohup部署jar服務到remote伺服器
先貼一下,我的jenkins里最後核心配置
remove_jar.sh腳本:
start_jar.sh腳本內容:
remove_jar.sh 和 start_jar.sh 在jenkins伺服器上,需要將這兩個shell在0.0.0.0(不能暴露)的遠端去執行
沒錯,客官您一眼就看出來了,覺得簡單的不值一提吧,先別著急,對搜這個問題的小菜雞來說這裡面也是大有文章,聽我一一道來。
1、第一個問題:ps -ef|grep xxx.jar查到多餘的pid
現象:在0.0.0.0上行 ps -ef | grep alk-wxapi-test.jar | grep -v grep | awk '{print $2}' 只能查到一個pid,但是把這句話放到shell腳本里,在本地使用命令上遠端執行,就會找到3個pid,而且kill 時提示失敗的錯誤。
現在已經知道原因了,但是當時確實是個問題。
已經解決不方便復現了,因此就描述一下就行了。
原因:shell里的這個命令也是通過bash在遠程執行的,所以找到的別的 無關緊要 的pid其實是bash,因此在grep是除了排除grep本身( grep -v grep )外還要排除bash( grep -v bash )
最後命令是:
2、遠程執行腳本,裡面有nohup java -jar,發生錯誤: nohup: failed to run command 『java』: No such file or directory
這是因為nohup時java環境變數沒有讀到,處理方式就是在nohup執行前加入
3、其他思路
4、第二條說jdk的路徑因為每個服務企業都不一樣,所以需要手動傳改,這一點已經在腳本上做了修改,啟動腳本上攜帶的第一個參數就是jdk的安裝路徑
這兩個也都是比較好的思路,以後肯定有機會體驗的,本篇到此。
ps -ef |grep -v 在shell sh 腳本中貌似無效?
linux下搭建zookeeper集群遇到的坑
nohup: cannot run command異常解決
Zookeeper not starting, nohup error