❶ linux下如何部署可執行 jar包,並關閉此運行
前段時間剛剛接觸了一下linux系統,本人表示第一次使用無從下手,不像windows操作系統是可視化的,簡單的創建文件或文件夾都要通過寫命令才能將其完成,由於工作需要,不得不自學linux ,先是自學常用的一些命令,然後再部署可執行jar,以下是具體的操作步驟。
1、執行jar包的命令和在windows操作系統上是一樣的,都是java -jar xxxx.jar。
2、將jar程序設置成後台運行,並且將標准輸出的日誌重定向至文件consoleMsg.log。
nohup java -jar getCimiss-surf.jar >consoleMsg.log 2>&1 &
其中:nohup命令的作用就是讓程序在後台運行,不用擔心關閉連接進程斷掉的問題了,consoleMsg.log文件前提要創建好。
3、如果想殺掉運行中的jar程序,查看進程命令為:
ps aux|grep getCimiss-surf.jar
將會看到此jar的進程信息
data 5796 0.0 0.0 112656 996 pts/1 S+ 09:11 0:00 grep --color=auto getCimiss-surf.jar data 30768 6.3 0.4 35468508 576800 ? Sl 09:09 0:08 java -jar getCimiss-surf.jar
其中30768則為此jar的pid,殺掉命令為
❷ linux解壓jar包命令
JAR包是Java中所特有一種壓縮文檔,我們可以通過相關命令解壓jar包,下面由我為大家整理了linux下解壓jar包命令的相關知識,希望對大家有所幫助。
一、linux解壓jar包命令——jar命令詳解
jar命令選項:
jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目錄]文件名...
其中{ctxu}這四個選項必須選其一。[v f m e 0 M i ]是可選選項,文件名也是必須的。
-c 創建一個jar包
-t 顯示jar中的內容列表
-x 解壓jar包
-u 添加文件到jar包中
-f 指定jar包的文件名
-v 生成詳細的報造,並輸出至標准設備
-m 指定manifest.mf文件.(manifest.mf文件中可以對jar包及其中的內容作一些一設置)
-0 產生jar包時不對其中的內容進行壓縮處理
-M 不產生所有文件的清單文件(Manifest.mf)。這個參數與忽略掉-m參數的設置
-i 為指定的jar文件創建索引文件
-C 表示轉到相應的目錄下執行jar命令,相當於cd到那個目錄,然後不帶-C執行jar命令
二、linux解壓jar包命令——jar使用範例
(1)創建jar包
$ jar cf hello.jar hello 利用test目錄生成hello.jar包,如hello.jar存在,則覆蓋
(2)創建並顯示打包過程
$ jar cvf hello.jar hello 利用hello目錄創建hello.jar包,並顯示創建過程
例:E:>jar cvf hello.jar hello
標明清單(manifest)
增加:hello/(讀入= 0) (寫出= 0)(存儲了 0%)
增加:hello/TestServlet2.class(讀入= 1497) (寫出= 818)(壓縮了 45%)
增加:hello/HelloServlet.class(讀入= 1344) (寫出= 736)(壓縮了 45%)
增加:hello/TestServlet1.class(讀入= 2037) (寫出= 1118)(壓縮了 45%)
(3)顯示jar包
$ jar tvf hello.jar 查看hello.jar包的內容
指定的jar包必須真實存在,否則會發生FileNoutFoundException。
(4)解壓jar包
$ jar xvf hello.jar 解壓hello.jar至當前目錄
(5)jar中添加文件
$ jar uf hello.jar HelloWorld.java 將HelloWorld.java添加到hello.jar包中
(6)創建不壓縮內容jar包
$ jar cvf0 hello.jar *.class 利用當前目錄中所有的.class文件生成一個不壓縮jar包
(7)創建帶manifest.mf文件的jar包
$ jar cvfm hello.jar manifest.mf hello
創建的jar包多了一個META-INF目錄,META-INF止錄下多了一個manifest.mf文件,至於manifest.mf的作用,後面會提到.
(8)忽略manifest.mf文件
$ jar cvfM hello.jar hello 生成的jar包中不包括META-INF目錄及manifest.mf文件
(9)加-C應用:
$ jar cvfm hello.jar mymanifest.mf -C hello/
表示在切換到hello目錄下然後再執行jar命令
(10)-i為jar文件生成索引列表
當一個jar包中的內容很好的時候,你可以給它生成一個索引文件,這樣看起來很省事。
$ jar i hello.jar
執行完這條命令後,它會在hello.jar包的META-INF文件夾下生成一個名為INDEX.LIST的索引文件,
它會生成一個列表,最上邊為jar包名。
(11)導出解壓列表
jar tvf hello.jar >hello.txt
如果你想查看解壓一個jar的詳細過程,而這個jar包又很大,屏幕信息會一閃而過,
這時你可以把列表輸出到一個文件中,慢慢欣賞!
(12)jar -cvf hello.jar hello/*
例如原目錄結構如下:
hello
|---com
|---org
你本想只把com目錄和org目錄打包,而這時jar命令會連同hello目洋也一塊打包進。
這點大家要注意。jar命令生成的壓縮文件會包含它後邊出的目錄。我們應該進入到hello目錄再執行jar命令。
注意:manifest.mf這個文件名,用戶可以任指定,但jar命令只認識Manifest.mf,它會對用戶指定的文件名進行相應在的轉換,這不需用戶擔心。
三、linux解壓jar包命令——JAR命令使用技巧
(1) jar創建壓ZIP文件
jar cvfM TestZIP.jar test 加M參數為了不生成META-INF相關內容
然後將TestZIP.jar改為TestZIP.zip就可以,是不是很簡單....
(2) 使用WinRAR解壓.jar文件
上邊我們已經說過了,說JAR文件是一種特殊的壓縮文件,所以它當然可以用我們常用的一些解壓縮工具來解了,
至於怎麼解,這就不用我說了吧。
(3) 用WinRAR生成.jar文件
我們已經說過JAR包與ZIP包主要區別就是JAR包中多一個META-INF的目錄,
META-INF目錄下有一個manifest.mf文件,我們只要建立好相關的目錄一壓縮就可以了。
目錄的結構如下:
TestJar
|--META-INF
|--manifest.mf
|--相關的類文件
注意:還應該在manifest.mf填寫內容,不會寫?照著一個已有的抄不就行了
❸ linux環境下,安裝.jar文件出現安裝選項。但不知道用什麼命令。
linux下執行jar文件方法:命令行下進入文件目錄,執行java -jar file.jar即可,也可在桌面創建一個啟動器,在命令欄填寫相關的命令:java -jar /file路徑/file.jar,這樣在桌面雙擊即可打開該jar文件
創建可執行的 JAR 文件包詳解:JAR 文件就是 Java Archive File,顧名思意,它的應用是與 Java 息息相關的,是 Java 的一種文檔格式。JAR 文件非常類似 ZIP 文件--准確的說,它就是 ZIP 文件,所以叫它文件包。JAR 文件與 ZIP 文件唯一的區別就是在 JAR 文件的內容中,包含了一個 META-INF/MANIFEST.MF 文件,這個文件是在生成 JAR 文件的時候自動創建的.舉個例子,如果我們具有如下目錄結構的一些文件:
==
`-- test
`-- Test.class
把它壓縮成 ZIP 文件 test.zip,則這個 ZIP 文件的內部目錄結構為:
test.zip
`-- test
`-- Test.class
如果我們使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,則這個 JAR 文件的內部目錄結構為:
test.jar
|-- META-INF
| `-- MANIFEST.MF
`-- test
`--Test.class
創建可執行的 JAR 文件包,需要使用帶 cvfm 參數的 jar 命令,同樣以上述 test 目錄為例,命令如下:jar cvfm test.jar manifest.mf test,這里 test.jar 和 manifest.mf 兩個文件,分別是對應的參數 f 和 m,其重頭戲在 manifest.mf。因為要創建可執行的 JAR 文件包,光靠指定一個 manifest.mf 文件是不夠的,因為 MANIFEST 是 JAR 文件包的特徵,可執行的 JAR 文件包和不可執行的 JAR 文件包都包含 MANIFEST。關鍵在於可執行 JAR 文件包的 MANIFEST,其內容包含了 Main-Class 一項。這在 MANIFEST 中書寫格式如下:Main-Class: 可執行主類全名(包含包名)
例如,假設上例中的 Test.class 是屬於 test 包的,而且是可執行的類 (定義了 public static void main(String[]) 方法),那麼這個 manifest.mf 可以編輯如下:Main-Class: test.Test ,這個 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且該行以一個回車符結束即可。創建了 manifest.mf 文件之後,我們的目錄結構變為:
==
|-- test
| `-- Test.class
`-- manifest.mf
這時候,需要到 test 目錄的上級目錄中去使用 jar 命令來創建 JAR 文件包。也就是在目錄樹中使用==表示的那個目錄中,使用如下命令:jar cvfm test.jar manifest.mf test
之後在==目錄中創建了 test.jar,test.jar 就是執行的 JAR 文件包。運行時只需要使用 java -jar test.jar 命令即可。
需要注意的是,創建的 JAR 文件包中需包含完整的、與 Java 程序包結構對應的目錄結構。而 Main-Class 指定的類,也必須是完整的、包含包路徑的類名,如上例的 test.Test;而且在沒有打成 JAR 文件包之前可以使用 java 來運行這個類,即在上例中 java test.Test 是可以正確運行的 (當然要在 CLASSPATH 正確的情況下)。
❹ 如何在Linux下運行jar包的方法
當需要把在Windows上開發的Java程序用在Linux上運行時,就需要吧該Java程序打包成jar包上傳到Linux上去運行。首先想到的可能就是通過 java -jar xxx.jar 的方式來運行我們的jar包,程序運行正常,但是窗口被鎖定,當我們關閉窗口或Ctrl + C打斷程序運行時,程序就會退出,這肯定不是我們想要的,下面我介紹幾種Linux下後台啟動jar包的方法
優化方法一:
& 表示後台運行,ssh窗口不被鎖定,但是關閉窗口時,程序還是會退出
優化方法二:
nohup 表示不掛斷運行命令行,當賬號退出或關閉終端時,程序仍然運行
當用 nohup 命令執行作業時,該作業的所有輸出被重定向到nohup.out的文件中,除非另外指定了輸出文件。
優化方法三:
> /usr/local/temp.txt 表示將所有啟動的日誌信息記錄到temp.txt文件中
❺ linux使用.sh文件啟動.jar文件
linux下執行jar文件方法:命令行下進入文件目錄,執行java -jar file.jar即可,也可在桌面創建一個啟動器,在命令欄填寫相關的命令:java -jar /file路徑/file.jar,這樣在桌面雙擊即可打開該jar文件
❻ Linux中用idea如何安裝Hadoop jar包
(1)准備工作
1) 安裝JDK 6或者JDK 7
2) 安裝scala 2.10.x (注意版本)
2)下載Intellij IDEA最新版(本文以IntelliJ IDEA Community Edition 13.1.1為例說明,不同版本,界面布局可能不同):
3)將下載的Intellij IDEA解壓後,安裝scala插件,流程如下:
依次選擇「Configure」–> 「Plugins」–> 「Browse repositories」,輸入scala,然後安裝即可
(2)搭建Spark源碼閱讀環境(需要聯網)
一種方法是直接依次選擇「import project」–> 選擇spark所在目錄 –> 「SBT」,之後intellij會自動識別SBT文件,並下載依賴的外部jar包,整個流程用時非常長,取決於機器的網路環境(不建議在windows下操作,可能遇到各種問題),一般需花費幾十分鍾到幾個小時。注意,下載過程會用到git,因此應該事先安裝了git。
第二種方法是首先在linux操作系統上生成intellij項目文件,然後在intellij IDEA中直接通過「Open Project」打開項目即可。在linux上生成intellij項目文件的方法(需要安裝git,不需要安裝scala,sbt會自動下載)是:在spark源代碼根目錄下,輸入sbt/sbt gen-idea
註:如果你在windows下閱讀源代碼,建議先在linux下生成項目文件,然後導入到windows中的intellij IDEA中。
❼ Linux 後台啟動運行jar包
1、首先基本的運行 jar 包命令如下
這個命令會鎖定命令窗口,當窗口關閉時,程序也就自動退出了,所以需要讓 jar 包後台運行。
2、後台啟動運行
3、指定輸出文件
如下,xxx.log 就是指定的輸出文件,如果不指定,默認在 jar 包所在目錄,創建 nohup.out 文件。
❽ 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】的啟動腳本中
❾ linux下生成jar包的命令行工具是什麼,有哪位大俠有總結么,求分享!!
製作可執行的JAR文件包及jar命令詳解
常常在網上看到有人詢問:如何把 java 程序編譯成 .exe 文件。通常回答只有兩種,一種是製作一個可執行的 JAR 文件包,然後就可以像.chm 文檔一樣雙擊運行了;而另一種是使用 JET 來進行
編譯。但是 JET 是要用錢買的,而且據說 JET 也不是能把所有的 Java 程序都編譯成執行文件,性能也要打些折扣。所以,使用製作可執行 JAR 文件包的方法就是最佳選擇了,何況它還能保持 Java 的跨平台特性。
下面就來看看什麼是 JAR 文件包吧:
1. JAR 文件包
JAR 文件就是 Java Archive File,顧名思意,它的應用是與 Java 息息相關的,是 Java 的一種文檔格式。JAR 文件非常類似 ZIP 文件--准確的說,它就是 ZIP 文件,所以叫它文件包。JAR 文件與 ZIP 文件唯一的區別就是在 JAR 文件的內容中,包含了一個 META-INF/MANIFEST.MF 文件,這個文件是在生成 JAR 文件的時候自動創建的。舉個例子,如果我們具有如下目錄結構的一些文件:
==
`-- test
`-- Test.class
把它壓縮成 ZIP 文件 test.zip,則這個 ZIP 文件的內部目錄結構為:
test.zip
`-- test
`-- Test.class
如果我們使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,則這個 JAR 文件的內部目錄結構為:
test.jar
|-- META-INF
| `-- MANIFEST.MF
`-- test
`--Test.class
2. 創建可執行的 JAR 文件包
製作一個可執行的 JAR 文件包來發布你的程序是 JAR 文件包最典型的用法。
Java 程序是由若干個 .class 文件組成的。這些 .class 文件必須根據它們所屬的包不同而分級分目錄存放;運行前需要把所有用到的包的根目錄指定給 CLASSPATH 環境變數或者 java 命令的 -cp 參數;運行時還要到控制台下去使用 java 命令來運行,如果需要直接雙擊運行必須寫 Windows 的批處理文件 (.bat) 或者 Linux 的 Shell 程序。因此,許多人說,Java 是一種方便開發者苦了用戶的程序設計語言。
其實不然,如果開發者能夠製作一個可執行的 JAR 文件包交給用戶,那麼用戶使用起來就方便了。在 Windows 下安裝 JRE (Java Runtime Environment) 的時候,安裝文件會將 .jar 文件映射給 javaw.exe 打開。那麼,對於一個可執行的 JAR 文件包,用戶只需要雙擊它就可以運行程序了,和閱讀 .chm 文檔一樣方便 (.chm 文檔默認是由 hh.exe 打開的)。那麼,現在的關鍵,就是如何來創建這個可執行的 JAR 文件包。
創建可執行的 JAR 文件包,需要使用帶 cvfm 參數的 jar 命令,同樣以上述 test 目錄為例,命令如下:
jar cvfm test.jar manifest.mf test
這里 test.jar 和 manifest.mf 兩個文件,分別是對應的參數 f 和 m,其重頭戲在 manifest.mf。因為要創建可執行的 JAR 文件包,光靠指定一個 manifest.mf 文件是不夠的,因為 MANIFEST 是 JAR 文件包的特徵,可執行的 JAR 文件包和不可執行的 JAR 文件包都包含 MANIFEST。關鍵在於可執行 JAR 文件包的 MANIFEST,其內容包含了 Main-Class 一項。這在 MANIFEST 中書寫格式如下:
Main-Class: (一定要加一個空格)可執行主類全名(包含包名)
例如,假設上例中的 Test.class 是屬於 test 包的,而且是可執行的類 (定義了 public static void main(String[]) 方法),那麼這個 manifest.mf 可以編輯如下:
Main-Class: (再次提醒,一定要加一個空格test.Test <回車>
我浪費了十分鍾在這個空格上面,不然在執行jar命令的時候會提示
java.io.IOException: invalid header field
這個 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且該行以一個回車符結束即可。創建了 manifest.mf 文件之後,我們的目錄結構變為:
==
|-- test
| `-- Test.class
`-- manifest.mf
這時候,需要到 test 目錄的上級目錄中去使用 jar 命令來創建 JAR 文件包。也就是在目錄樹中使用「==」表示的那個目錄中,使用如下命令:
jar cvfm test.jar manifest.mf test
之後在「==」目錄中創建了 test.jar,這個 test.jar 就是執行的 JAR 文件包。運行時只需要使用 java -jar test.jar 命令即可。
需要注意的是,創建的 JAR 文件包中需要包含完整的、與 Java 程序的包結構對應的目錄結構,就像上例一樣。而 Main-Class 指定的類,也必須是完整的、包含包路徑的類名,如上例的 test.Test;而且在沒有打成 JAR 文件包之前可以使用 java <類名> 來運行這個類,即在上例中 java test.Test 是可以正確運行的 (當然要在 CLASSPATH 正確的情況下)。
3. jar 命令詳解
jar 是隨 JDK 安裝的,在 JDK 安裝目錄下的 bin 目錄中,Windows 下文件名為 jar.exe,Linux 下文件名為 jar。它的運行需要用到 JDK 安裝目錄下 lib 目錄中的 tools.jar 文件。不過我們除了安裝 JDK 什麼也不需要做,因為 SUN 已經幫我們做好了。我們甚至不需要將 tools.jar 放到 CLASSPATH 中。
使用不帶任何的 jar 命令我們可以看到 jar 命令的用法如下:
jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目錄] 文件名 ...
其中 {ctxu} 是 jar 命令的子命令,每次 jar 命令只能包含 ctxu 中的一個,它們分別表示:
-c創建新的 JAR 文件包
-t列出 JAR 文件包的內容列表
-x展開 JAR 文件包的指定文件或者所有文件
-u更新已存在的 JAR 文件包 (添加文件到 JAR 文件包中)
[vfm0M] 中的選項可以任選,也可以不選,它們是 jar 命令的選項參數
-v生成詳細報告並列印到標准輸出
-f指定 JAR 文件名,通常這個參數是必須的
-m指定需要包含的 MANIFEST 清單文件
-0隻存儲,不壓縮,這樣產生的 JAR 文件包會比不用該參數產生的體積大,但速度更快
-M不產生所有項的清單(MANIFEST〕文件,此參數會忽略 -m 參數
[jar-文件] 即需要生成、查看、更新或者解開的 JAR 文件包,它是 -f 參數的附屬參數
[manifest-文件] 即 MANIFEST 清單文件,它是 -m 參數的附屬參數
[-C 目錄] 表示轉到指定目錄下去執行這個 jar 命令的操作。它相當於先使用 cd 命令轉該目錄下再執行不帶 -C 參數的 jar 命令,它只能在創建和更新 JAR 文件包的時候可用。
文件名 ... 指定一個文件/目錄列表,這些文件/目錄就是要添加到 JAR 文件包中的文件/目錄。如果指定了目錄,那麼 jar 命令打包的時候會自動把該目錄中的所有文件和子目錄打入包中。
下面舉一些例子來說明 jar 命令的用法:
1) jar cf test.jar test
該命令沒有執行過程的顯示,執行結果是在當前目錄生成了 test.jar 文件。如果當前目錄已經存在 test.jar,那麼該文件將被覆蓋。
2) jar cvf test.jar test
該命令與上例中的結果相同,但是由於 v 參數的作用,顯示出了打包過程,如下:
標明清單(manifest)
增加:test/(讀入= 0) (寫出= 0)(存儲了 0%)
增加:test/Test.class(讀入= 7) (寫出= 6)(壓縮了 14%)
3) jar cvfM test.jar test
該命令與 2) 結果類似,但在生成的 test.jar 中沒有包含 META-INF/MANIFEST 文件,打包過程的信息也略有差別:
增加:test/(讀入= 0) (寫出= 0)(存儲了 0%)
增加:test/Test.class(讀入= 7) (寫出= 6)(壓縮了 14%)
4) jar cvfm test.jar manifest.mf test
運行結果與 2) 相似,顯示信息也相同,只是生成 JAR 包中的 META-INF/MANIFEST 內容不同,是包含了 manifest.mf 的內容
5) jar tf test.jar
在 test.jar 已經存在的情況下,可以查看 test.jar 中的內容,如對於 2) 和 3) 生成的 test.jar 分別應該此命令,結果如下;
對於 2)
META-INF/
META-INF/MANIFEST.MF
test/
test/Test.class
對於 3)
test/
test/Test.class
6) jar tvf test.jar
除顯示 5) 中顯示的內容外,還包括包內文件的詳細信息,如:
0 Wed Jun 19 15:39:06 GMT 2002 META-INF/
86 Wed Jun 19 15:39:06 GMT 2002 META-INF/MANIFEST.MF
0 Wed Jun 19 15:33:04 GMT 2002 test/
7 Wed Jun 19 15:33:04 GMT 2002 test/Test.class
7) jar xf test.jar
解開 test.jar 到當前目錄,不顯示任何信息,對於 2) 生成的 test.jar,解開後的目錄結構如下:
==
|-- META-INF
| `-- MANIFEST
`-- test
`--Test.class
8) jar xvf test.jar
運行結果與 7) 相同,對於解壓過程有詳細信息顯示,如:
創建:META-INF/
展開:META-INF/MANIFEST.MF
創建:test/
展開:test/Test.class
9) jar uf test.jar manifest.mf
在 test.jar 中添加了文件 manifest.mf,此使用 jar tf 來查看 test.jar 可以發現 test.jar 中比原來多了一個 manifest。這里順便提一下,如果使用 -m 參數並指定 manifest.mf 文件,那麼 manifest.mf 是作為清單文件 MANIFEST 來使用的,它的內容會被添加到 MANIFEST 中;但是,如果作為一般文件添加到 JAR 文件包中,它跟一般文件無異。
10) jar uvf test.jar manifest.mf
與 9) 結果相同,同時有詳細信息顯示,如:
增加:manifest.mf(讀入= 17) (寫出= 19)(壓縮了 -11%)
4. 關於 JAR 文件包的一些技巧
1) 使用 unzip 來解壓 JAR 文件
在介紹 JAR 文件的時候就已經說過了,JAR 文件實際上就是 ZIP 文件,所以可以使用常見的一些解壓 ZIP 文件的工具來解壓 JAR 文件,如 Windows 下的 WinZip、WinRAR 等和 Linux 下的 unzip 等。使用 WinZip 和 WinRAR 等來解壓是因為它們解壓比較直觀,方便。而使用 unzip,則是因為它解壓時可以使用 -d 參數指定目標目錄。
在解壓一個 JAR 文件的時候是不能使用 jar 的 -C 參數來指定解壓的目標的,因為 -C 參數只在創建或者更新包的時候可用。那麼需要將文件解壓到某個指定目錄下的時候就需要先將這具 JAR 文件拷貝到目標目錄下,再進行解壓,比較麻煩。如果使用 unzip,就不需要這么麻煩了,只需要指定一個 -d 參數即可。如:
unzip test.jar -d dest/
2) 使用 WinZip 或者 WinRAR 等工具創建 JAR 文件
上面提到 JAR 文件就是包含了 META-INF/MANIFEST 的 ZIP 文件,所以,只需要使用 WinZip、WinRAR 等工具創建所需要 ZIP 壓縮包,再往這個 ZIP 壓縮包中添加一個包含 MANIFEST 文件的 META-INF 目錄即可。對於使用 jar 命令的 -m 參數指定清單文件的情況,只需要將這個 MANIFEST 按需要修改即可。
3) 使用 jar 命令創建 ZIP 文件
有些 Linux 下提供了 unzip 命令,但沒有 zip 命令,所以需要可以對 ZIP 文件進行解壓,即不能創建 ZIP 文件。如要創建一個 ZIP 文件,使用帶 -M 參數的 jar 命令即可,因為 -M 參數表示製作 JAR 包的時候不添加 MANIFEST 清單,那麼只需要在指定目標 JAR 文件的地方將 .jar 擴展名改為 .zip 擴展名,創建的就是一個不折不扣的 ZIP 文件了,如將上一節的第 3) 個例子略作改動:
jar cvfM test.zip test
❿ Linux下打包壓縮war、解壓war包和jar命令
問題
Linux下打包壓縮war、解壓war包和jar命令
解決
把project_a文件夾下的文件打包成project.war
-c 創建war包
-v 顯示過程信息
-f 指定 JAR 文件名,通常這個參數是必須的
-M 不產生所有項的清單(MANIFEST〕文件,此參數會忽略 -m 參數
-0 這個是阿拉伯數字,只打包不壓縮的意思
解壓到當前目錄