當(dāng)需要把在Windows上開(kāi)發(fā)的Java程序用在Linux上運(yùn)行時(shí),就需要吧該Java程序打包成jar包上傳到Linux上去運(yùn)行。首先想到的可能就是通過(guò) java -jar xxx.jar 的方式來(lái)運(yùn)行我們的jar包,程序運(yùn)行正常,但是窗口被鎖定,當(dāng)我們關(guān)閉窗口或Ctrl + C打斷程序運(yùn)行時(shí),程序就會(huì)退出,這肯定不是我們想要的,下面我介紹幾種Linux下后臺(tái)啟動(dòng)jar包的方法
成都創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、南湖網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城網(wǎng)站定制開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為南湖等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
優(yōu)化方法一:
表示后臺(tái)運(yùn)行,ssh窗口不被鎖定,但是關(guān)閉窗口時(shí),程序還是會(huì)退出
優(yōu)化方法二:
nohup 表示不掛斷運(yùn)行命令行,當(dāng)賬號(hào)退出或關(guān)閉終端時(shí),程序仍然運(yùn)行
當(dāng)用 nohup 命令執(zhí)行作業(yè)時(shí),該作業(yè)的所有輸出被重定向到nohup.out的文件中,除非另外指定了輸出文件。
優(yōu)化方法三:
? /usr/local/temp.txt 表示將所有啟動(dòng)的日志信息記錄到temp.txt文件中
1、首先基本的運(yùn)行 jar 包命令如下
這個(gè)命令會(huì)鎖定命令窗口,當(dāng)窗口關(guān)閉時(shí),程序也就自動(dòng)退出了,所以需要讓 jar 包后臺(tái)運(yùn)行。
2、后臺(tái)啟動(dòng)運(yùn)行
3、指定輸出文件
如下,xxx.log 就是指定的輸出文件,如果不指定,默認(rèn)在 jar 包所在目錄,創(chuàng)建 nohup.out 文件。
1 阻塞式方式
java -jar xxx.jar
特點(diǎn): 當(dāng)前終端的會(huì)話(huà)窗口被阻塞, 可按CTRL + C中斷程序的運(yùn)行, 或者直接關(guān)閉會(huì)話(huà)窗口 —— 此時(shí)jar程序?qū)⒔K止.
2 后臺(tái)運(yùn)行方式
# 通過(guò)""符號(hào)實(shí)現(xiàn)后臺(tái)運(yùn)行:
java -jar xxx.jar
特點(diǎn): 當(dāng)前終端的會(huì)話(huà)窗口不會(huì)被阻塞, 但是如果關(guān)閉當(dāng)前窗口, 程序?qū)⒔K止運(yùn)行.
3 后臺(tái)持續(xù)運(yùn)行方式
# 通過(guò)"nohup"命令實(shí)現(xiàn)后臺(tái)運(yùn)行:
nohup java -jar xxx.jar
nohup命令是不掛斷運(yùn)行命令的意思.
特點(diǎn): 當(dāng)用戶(hù)退出或終端關(guān)閉時(shí), 程序的運(yùn)行不受影響.
說(shuō)明: 用nohup命令運(yùn)行任務(wù)時(shí), 默認(rèn)情況下這個(gè)任務(wù)的所有輸出都將被重定向到nohup.out文件中, 除非另外指定輸出文件. 指定輸出文件方式為:
# 將輸出重定向到xxx.log文件中:
nohup java -jar xxx.jar xxx.log
符號(hào)是重定向符, 實(shí)現(xiàn): 把它之前命令的所有輸出信息重定向到后面的文件中, 而不是顯示到屏幕上.
linux系統(tǒng)下jar是隨著jdk安裝的,所以安裝jar其實(shí)很容易。下面由我為大家整理了linux下安裝jar命令的相關(guān)知識(shí),希望大家喜歡!
linux下安裝jar命令
jar是隨著jdk的安裝的。在jdk安裝的目錄下有bin目錄中,windows下的文件名為jar.exe,linux下文件名為jar.它的運(yùn)行需要用到j(luò)dk安裝目錄下lib目錄中的tools.jar.
jar文件在linux下的安裝命令
首先安裝java 的jdk..并設(shè)置 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 目錄](méi) 文件名。。。
{ctxu}是jar命令的子命令,每次jar命令中只可以包含一個(gè)ctxu中的一個(gè),分別表示:
-c創(chuàng)建新的jar文件包 --常用于打包
-t列出jar文件包的內(nèi)容列表
-x展開(kāi)jar文件包的指定文件或者所有文件--常用于解開(kāi)包
-u更新已經(jīng)存在的jar文件包
[vmf0M]中可以選,也可以不選,是jar命令的選項(xiàng)參數(shù):
-v生成詳細(xì)報(bào)告并打印到標(biāo)準(zhǔn)輸出
-f指定jar文件名,這個(gè)參數(shù)是必須的
-m指定需要包含的manfest清單文件
-0只存儲(chǔ)不壓縮,速度快
-M不生成所有的清單文件
經(jīng)常組合使用 cv0Mf/xvMf
補(bǔ)充:linux下運(yùn)行jar包命令
java -jar xxxx.jar
Linux平臺(tái)通過(guò)以下命令執(zhí)行jar文件。 # java -jar file.jar
linux下執(zhí)行jar文件方法:命令行下進(jìn)入文件目錄,執(zhí)行java -jar file.jar即可,也可在桌面創(chuàng)建一個(gè)啟動(dòng)器,在命令欄填寫(xiě)相關(guān)的命令:java -jar /file路徑/file.jar,這樣在桌面雙擊即可打開(kāi)該jar文件 創(chuàng)建可執(zhí)行的 JAR 文件包詳解:JAR 文件就是...
linux下執(zhí)行jar文件方法:命令行下進(jìn)入文件目錄,執(zhí)行java -jar file.jar即可,也可在桌面創(chuàng)建一個(gè)啟動(dòng)器,在命令欄填寫(xiě)相關(guān)的命令:java -jar /file路徑/file.jar,這樣在桌面雙擊即可打開(kāi)該jar文件 創(chuàng)建可執(zhí)行的 JAR 文件包詳解:JAR 文件就是...
java -jar test.jar
在linux命令行下對(duì)jar進(jìn)行解壓縮操作,比如有個(gè)jar包/usr/local/EtnetChinaApplication.jar #解壓jar包到臨時(shí)目錄cd /usr/localunzip EtnetChinaApplication.jar -d app#進(jìn)入臨時(shí)目錄app,編輯文件ls app ...... log4j.properties xmemcache.prope...
java -jar xxxx.jar
nohup java -jar 啟動(dòng)1.jar nohup java -jar 啟動(dòng)2.jar nohup java -jar 啟動(dòng)3.jar
這個(gè)shell腳本的話(huà)應(yīng)該只會(huì)影響當(dāng)前的窗口,運(yùn)行完程序后把窗口關(guān)閉,再新開(kāi)窗口,你的JDK應(yīng)該還是1.4的 如果不行的話(huà),那就運(yùn)行完程序,再export一遍1.4的JDK 只對(duì)當(dāng)前窗口有影響,換用戶(hù)或者新開(kāi)窗口都會(huì)變成1.4
不用用-cp, 有運(yùn)行jar的-jar吧?或者jar 加什么,你想你要的庫(kù)和主方法都在一個(gè)jar里,一般用不到-cp吧,除非你用到別的類(lèi)庫(kù)不在jar里。
JAR包是Java中所特有一種壓縮文檔,我們可以通過(guò)相關(guān)命令解壓jar包,下面由我為大家整理了linux下解壓jar包命令的相關(guān)知識(shí),希望對(duì)大家有所幫助。
一、linux解壓jar包命令——jar命令詳解
jar命令選項(xiàng):
jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目錄](méi)文件名...
其中{ctxu}這四個(gè)選項(xiàng)必須選其一。[v f m e 0 M i ]是可選選項(xiàng),文件名也是必須的。
-c 創(chuàng)建一個(gè)jar包
-t 顯示jar中的內(nèi)容列表
-x 解壓jar包
-u 添加文件到j(luò)ar包中
-f 指定jar包的文件名
-v 生成詳細(xì)的報(bào)造,并輸出至標(biāo)準(zhǔn)設(shè)備
-m 指定manifest.mf文件.(manifest.mf文件中可以對(duì)jar包及其中的內(nèi)容作一些一設(shè)置)
-0 產(chǎn)生jar包時(shí)不對(duì)其中的內(nèi)容進(jìn)行壓縮處理
-M 不產(chǎn)生所有文件的清單文件(Manifest.mf)。這個(gè)參數(shù)與忽略掉-m參數(shù)的設(shè)置
-i 為指定的jar文件創(chuàng)建索引文件
-C 表示轉(zhuǎn)到相應(yīng)的目錄下執(zhí)行jar命令,相當(dāng)于cd到那個(gè)目錄,然后不帶-C執(zhí)行jar命令
二、linux解壓jar包命令——jar使用范例
(1)創(chuàng)建jar包
$ jar cf hello.jar hello 利用test目錄生成hello.jar包,如hello.jar存在,則覆蓋
(2)創(chuàng)建并顯示打包過(guò)程
$ jar cvf hello.jar hello 利用hello目錄創(chuàng)建hello.jar包,并顯示創(chuàng)建過(guò)程
例:E:\jar cvf hello.jar hello
標(biāo)明清單(manifest)
增加:hello/(讀入= 0) (寫(xiě)出= 0)(存儲(chǔ)了 0%)
增加:hello/TestServlet2.class(讀入= 1497) (寫(xiě)出= 818)(壓縮了 45%)
增加:hello/HelloServlet.class(讀入= 1344) (寫(xiě)出= 736)(壓縮了 45%)
增加:hello/TestServlet1.class(讀入= 2037) (寫(xiě)出= 1118)(壓縮了 45%)
(3)顯示jar包
$ jar tvf hello.jar 查看hello.jar包的內(nèi)容
指定的jar包必須真實(shí)存在,否則會(huì)發(fā)生FileNoutFoundException。
(4)解壓jar包
$ jar xvf hello.jar 解壓hello.jar至當(dāng)前目錄
(5)jar中添加文件
$ jar uf hello.jar HelloWorld.java 將HelloWorld.java添加到hello.jar包中
(6)創(chuàng)建不壓縮內(nèi)容jar包
$ jar cvf0 hello.jar *.class 利用當(dāng)前目錄中所有的.class文件生成一個(gè)不壓縮jar包
(7)創(chuàng)建帶manifest.mf文件的jar包
$ jar cvfm hello.jar manifest.mf hello
創(chuàng)建的jar包多了一個(gè)META-INF目錄,META-INF止錄下多了一個(gè)manifest.mf文件,至于manifest.mf的作用,后面會(huì)提到.
(8)忽略manifest.mf文件
$ jar cvfM hello.jar hello 生成的jar包中不包括META-INF目錄及manifest.mf文件
(9)加-C應(yīng)用:
$ jar cvfm hello.jar mymanifest.mf -C hello/
表示在切換到hello目錄下然后再執(zhí)行jar命令
(10)-i為jar文件生成索引列表
當(dāng)一個(gè)jar包中的內(nèi)容很好的時(shí)候,你可以給它生成一個(gè)索引文件,這樣看起來(lái)很省事。
$ jar i hello.jar
執(zhí)行完這條命令后,它會(huì)在hello.jar包的META-INF文件夾下生成一個(gè)名為INDEX.LIST的索引文件,
它會(huì)生成一個(gè)列表,最上邊為jar包名。
(11)導(dǎo)出解壓列表
jar tvf hello.jar hello.txt
如果你想查看解壓一個(gè)jar的詳細(xì)過(guò)程,而這個(gè)jar包又很大,屏幕信息會(huì)一閃而過(guò),
這時(shí)你可以把列表輸出到一個(gè)文件中,慢慢欣賞!
(12)jar -cvf hello.jar hello/*
例如原目錄結(jié)構(gòu)如下:
hello
|---com
|---org
你本想只把com目錄和org目錄打包,而這時(shí)jar命令會(huì)連同hello目洋也一塊打包進(jìn)。
這點(diǎn)大家要注意。jar命令生成的壓縮文件會(huì)包含它后邊出的目錄。我們應(yīng)該進(jìn)入到hello目錄再執(zhí)行jar命令。
注意:manifest.mf這個(gè)文件名,用戶(hù)可以任指定,但jar命令只認(rèn)識(shí)Manifest.mf,它會(huì)對(duì)用戶(hù)指定的文件名進(jìn)行相應(yīng)在的轉(zhuǎn)換,這不需用戶(hù)擔(dān)心。
三、linux解壓jar包命令——JAR命令使用技巧
(1) jar創(chuàng)建壓ZIP文件
jar cvfM TestZIP.jar test 加M參數(shù)為了不生成META-INF相關(guān)內(nèi)容
然后將TestZIP.jar改為T(mén)estZIP.zip就可以,是不是很簡(jiǎn)單....
(2) 使用WinRAR解壓.jar文件
上邊我們已經(jīng)說(shuō)過(guò)了,說(shuō)JAR文件是一種特殊的壓縮文件,所以它當(dāng)然可以用我們常用的一些解壓縮工具來(lái)解了,
至于怎么解,這就不用我說(shuō)了吧。
(3) 用WinRAR生成.jar文件
我們已經(jīng)說(shuō)過(guò)JAR包與ZIP包主要區(qū)別就是JAR包中多一個(gè)META-INF的目錄,
META-INF目錄下有一個(gè)manifest.mf文件,我們只要建立好相關(guān)的目錄一壓縮就可以了。
目錄的結(jié)構(gòu)如下:
TestJar
|--META-INF
|--manifest.mf
|--相關(guān)的類(lèi)文件
注意:還應(yīng)該在manifest.mf填寫(xiě)內(nèi)容,不會(huì)寫(xiě)?照著一個(gè)已有的抄不就行了
當(dāng)前名稱(chēng):linux跑jar命令 linux的jar命令
瀏覽地址:http://vcdvsql.cn/article44/dooogee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、、手機(jī)網(wǎng)站建設(shè)、定制開(kāi)發(fā)、域名注冊(cè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)