jar打包Linux
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是隨著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里。
『叄』 如何把java打包成linux下的可執行程序
使用非工具(即使用命令)將Java工程打成可執行jar步驟如下:
1、准備MANIFEST文件(注意不要.MF後綴),MANIFEST文件內容如下:
Manifest-Version: 1.0(版本號,必須)
Created-By: xxx(創建者,可忽略)
Main-Class: com.kjt.wms.utils.ServiceStart(主程序,必須)
Class-Path: xxx/xxxx.jar(依賴的jar,沒有可忽略)
以上只是打成可執行程序的基礎屬性內容,若樓主也需要其它屬性,可參閱:
http://blog.csdn.net/zh520qx/article/details/43792693
2、到已經編譯好的class目錄,使用命令Jar -cvmf . 使用將程序打包xxx.jar
3、將打包好的程序及其所依賴的其他jar包一同部署到Linux下,使用命令java -jar xxx.jar啟動程序
若樓主有shell腳本經驗,也可將啟動命令寫成腳本,並加上些jvm調優參數則更好
以上三步即完成將Java工程打包成可執行程序,打成的jar包在windows、Linux下均可使用。
有問題歡迎提問,滿意請採納,謝謝!
『肆』 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】的啟動腳本中
總結
『伍』 運行環境jre版本和jar包編譯版本不一致導致:Unsupported major.minor version 52.0
我在本地使用 Intellij Idea 打包了一個 spark 的程序 jar 包,放到linux集群上運行,報錯信息是: Unsupported major.minor version 52.0
本機系統 -> windows10 開發工具 -> Intellij Idea 構建工具 -> maven
集群系統 -> Linux jre -> Java(TM) SE Runtime Environment (build 1.7.0_80-b15)`
根據報錯 log 可以斷定的是由於我本地編譯打包所使用的 jdk 版本和 linux 集群的 jre 版本不一致導致的。stanford parser 和 jdk 版本對應關系為:
可以推斷出是由於我打包編譯時所使用的 jdk 版本是 jdk8,而集群的 jre 是7,才導致的問題。
maven 項目會用 maven-compiler-plugin 默認的 jdk 版本來進行編譯,如果不指明版本就容易出現版本不匹配的問題,可能導致編譯不通過的問題。解決辦法:在 pom 文件中配置 maven-compiler-plugin 插件。
方式一:
方式二:
如豎首果使用 scala 編寫 spark 的程序,在編譯打包時候要注意 scala 的版本號和 jdk 版本的對應關系,同時也要考慮集群上 jre 的版本。比如我的集群上所使用的 jre 的版本號為 7,那麼本機打包編譯的 jdk 版本必須旅搜為 7 ,那麼 scala 版本必須為 2.12 版本以下。
Intellij Idea 設置「開發」運拆纖歷行時所用的 jdk 版本的幾個地方:
如果上圖中 Intellij Idea 的開發運行 jdk 版本配置錯誤,在開發運行編譯的時候會報: Error:java: 無效的源發行版: xx
『陸』 Linux下打包壓縮war、解壓war包和jar命令
問題
Linux下打包壓縮war、解壓war包和jar命令
解決
把project_a文件夾下的文件打包成project.war
-c 創建war包
-v 顯示過程信息
-f 指定 JAR 文件名,通常這個參數是必須的
-M 不產生所有項的清單(MANIFEST〕文件,此參數會忽略 -m 參數
-0 這個是阿拉伯數字,只打包不壓縮的意思
解壓到當前目錄
『柒』 jar 包 怎麼通過 linux 命令解壓
tar命令用於對文件打包壓縮或解壓,格式為:「tar [選項] [文件]」。《Linux就該這么學》Windows系統中最常見的壓縮格式是.rar與.zip吧,而Linux系統中常見的格式比較多,但主要使用的是.tar或.tar.gz或.tar.bz2格式,其實這些大部分都是由tar命令,來完成的。首先「-c」參數是用於創建壓縮文件的,「-x」參數是用於解壓文件的,因此這兩個不能同時放一起使用,其次「-z」參數是指定使用Gzip格式來壓縮解壓文件,「-j」參數是指定使用bzip2參數來壓縮解壓文件,解壓時候咱們則是根據文件的後綴來決定是何種格式參數,而有些打包操作要數個小時,屏幕沒有輸出的話你一定會懷疑電腦有沒有死機了,也不好判斷打包的進度情況,非常推薦使用「-v」參數來不斷顯示壓縮或解壓的過程給用戶,「-C」參數用於指定要解壓到的哪個指定的目錄,而「-f」參數特別重要,它必須放到參數的最後一位,代表要壓縮或解壓的軟體包名稱。因此平時我會一般使用「tar -czvf 壓縮包名稱.tar.gz 要打包的目錄」命令來將指定的文件來打包,解壓的話則是「tar -xzvf 壓縮包名稱.tar.gz」命令,讓咱們來逐個演示下打包壓縮與解壓的操作吧。
使用tar命令將/etc目錄內文件通過gzip格式進行打包壓縮
『捌』 spring-boot項目打包的jar包怎麼部署到linux上,並運行啊!
首先,點擊右側的MavenProject,再點擊項目中的Lifecycle,package,等待「success」即可完成jar包。