❶ 今天學了jar命令以及怎麼樣解壓縮war和jar包2.梳理生產環境主機分布情況,以及其
java編程中每天都用不少jar文件,項目開發中不停地導包,在忙完了一天的工作,放下那些復雜的業務實現,不僅想問這些jar包怎麼生成的,jar包有哪些獨特的地方等等。
原來這些經常見到的jar包是jar命令生成的,java語言為我們在安裝jdk的時候,就隨jdk為我們在bin目錄中安裝好了,在windows系統中是jar.exe程序,Linux系統中為jar文件。
jar命令有生成,查看,更新或解開jar包的作用。jar包與其他的壓縮包很相似,不過它包含了META-INF/MANIFEST.MF文件,它是jar包生成的時候,自動創建的。
jar命令的參數詳解:
C:\>jar cf lm.jar
'c' 標志要求指定清單或輸入文件!
用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
選項包括:
-c 創建新的歸檔文件
-t 列出歸檔目錄
-x 解壓縮已歸檔的指定(或所有)文件
-u 更新現有的歸檔文件
-v 在標准輸出中生成詳細輸出
-f 指定歸檔文件名
-m 包含指定清單文件中的清單信息
-e 為捆綁到可執行 jar 文件的獨立應用程序
指定應用程序入口點
-0 僅存儲;不使用任何 ZIP 壓縮
-M 不創建條目的清單文件
-i 為指定的 jar 文件生成索引信息
-C 更改為指定的目錄並包含其中的文件
如果有任何目錄文件,則對其進行遞歸處理。
清單文件名、歸檔文件名和入口點名的指定順序
與 "m"、"f" 和 "e" 標志的指定順序相同。
示例 1:將兩個類文件歸檔到一個名為 classes.jar 的歸檔文件中:
jar cvf classes.jar Foo.class Bar.class
示例 2:使用現有的清單文件 "mymanifest" 並
將 foo/ 目錄中的所有文件歸檔到 "classes.jar" 中:
jar cvfm classes.jar mymanifest -C foo/ .
實例1.
C:\>jar cf lm.jar Lm.class Lm.java
結果:在c盤下創建了Executable Jar File類型的lm.jar包。
實例2.添加v參數顯示打包詳細過程,
C:\jar>jar cvf lm.jar Lm.class
標明清單(manifest)
增加:Lm.class(讀入= 410) (寫出= 283)(壓縮了 30%)
其中c參數表示創建jar包,f參數是指定的jar包文件名。在使用jar命令的時候,要指定必須的參數,告訴他你要做什麼操作。這些參數包括
-c 創建新的歸檔文件
-t 列出歸檔目錄
-x 解壓縮已歸檔的指定(或所有)文件
-u 更新現有的歸檔文件
實例3.運行剛生成的jar包:
C:\>java -jar lm.jar
Failed to load Main-Class manifest attribute from
lm.jar
根據英文錯誤提示,好像讀取lm.jar包的manifest屬性失敗。
實例4.創建不包含META-INF/MANIFEST.MF文件的jar包
C:\jar>jar cvfM lm1.jar Lm.class
增加:Lm.class(讀入= 410) (寫出= 283)(壓縮了 30%)
實例5.顯示jar包中的文件
C:\jar>jar tf lm.jar
META-INF/
META-INF/MANIFEST.MF
Lm.class
實例6.由於創建jar包的時候用了M參數所以就沒有META-INF目錄和META-INF/MANIFEST.MF文件
C:\jar>jar tf lm1.jar
Lm.class
實例7.顯示jar包的文件和文件詳細信息
C:\jar>jar tvf lm.jar
0 Mon Sep 26 23:09:34 CST 2011 META-INF/
75 Mon Sep 26 23:09:34 CST 2011 META-INF/MANIFEST.MF
410 Mon Sep 26 22:09:00 CST 2011 Lm.class
這些詳細信息包括讀入的位元組,jar包中讀入的時間,目錄或文件名
實例8.解壓jar包到當前目錄中
C:\jar>jar xf lm.jar
不顯示任何信息,但是解壓成功
❷ 怎麼用JAVA打開jar後綴的文件
你要是想打開看看裡面的內容,用Ecplise等編輯軟體。要是想解壓開看直接用winrar就行了,如果是手機軟體,最好下載模擬器gameboy
❸ 在java中打包,為什麼要用jar,直接生成rar壓縮不可以嗎好處是什麼呀
不可以.
首先壓縮策略不同.
jar是採用zip的壓縮策略.
跟rar不一樣.
所以可以直接生成zip.然後改
後綴名
jar.
而不能直接生成rar.
這個所謂的好處..
java環境下.可以直接運行jar文件.
而不能直接運行
rar文件
...
這是顯而易見的吧.jar裡面的class能被import.
顯然rar也是不行的.....
❹ java 如何打開一個jar包
jar包的東西一般都是編譯過的.class文件,如果要做二次開發,就要進行反編譯,將文件反編譯成.java文件。eclipse反編譯我沒用過,不知道效果怎麼樣。
❺ java如何自動解jar包
當.jar包 位於系統的classpath中 或者位於項目的lib文件夾下時
虛擬機啟動時 將自動掃描所有的包,讀區包中類文件的信息(此時並沒有載入)
只有當使用到某個類文件時,虛擬機才載入相應類文件的內容到內存中.
❻ 為什麼JAVA軟體壓縮包(ZIP RAR)解壓後有很多後綴class的文件和文件夾,而沒有jar文件
那是java文件的內容,你解壓過頭了,把jar文件也解壓了,那你當然沒法看到jar啊,如果你是解壓zip文件就解壓處class這種文件,建議用文件管理器,改文件的後綴名。如zip的改為jar。這樣應該就可以了安裝了,不需要再解壓了。
希望我的回答對你有用
❼ 如何修改jar包內的源文件
1、將class文件改成java文件(如果你的jar包中是包含源代碼的,即包含java文件,請跳過此步)
先將jar包通過winrar或者快壓等解壓縮軟體將jar包解壓縮,再通過一些專門的Java反編譯工具將class文件轉換為java文件(本博主是使用的是JD-GUI這個軟體)。
2、更改java源文件
將java文件放入自己專門的開發工具中(eclipse、myeclipse等),需要注意的是,應該是將需要改動的java文件放入java project中,並且要創建對應的package,再將原本的jar導入,此時可能還報錯,需要導入一些相應的jar包。當項目不報錯之後,就可以做你所需要的修改了。
3、導出jar包
將現在的java project導出為jar包,然後將原本jar包中相應的class文件替換掉(如果是jar包中含有java源文件,也需要將java文件也需要替換)。
至此,jar包修改成功。大家如果有什麼問題,可以直接問我或者在下方留言,本人qq:924325679。
❽ jar是什麼意思,jar文件怎麼打開
JAR文件是一種歸檔文件,以ZIP格式構建,以.jar為文件擴展名。打開方式如下:
1、桌面有一個jar的文件。
JAR 文件格式以 ZIP 文件格式為基礎。與 ZIP 文件不同的是,JAR 文件不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和插件程序,並可被像編譯器和 JVM 這樣的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用來指示工具如何處理特定的 JAR。
(8)javajar解壓縮擴展閱讀
JAR文件的特點
1、安全性
可以對 JAR 文件內容加上數字化簽名。這樣,能夠識別簽名的工具就可以有選擇地為您授予軟體安全特權,這是其他文件做不到的,它還可以檢測代碼是否被篡改過。
2、減少下載時間
如果一個 applet 捆綁到一個 JAR 文件中,那麼瀏覽器就可以在一個 HTTP事務中下載這個 applet 的類文件和相關的資源,而不是對每一個文件打開一個新連接。
3、壓縮
JAR 格式允許您壓縮文件以提高存儲效率。
4、傳輸平台擴展
Java 擴展框架(Java Extensions Framework)提供了向 Java 核心平台添加功能的方法,這些擴展是用 JAR文件打包的(Java 3D 和 JavaMail 就是由 Sun 開發的擴展例子)。
❾ java jar文件怎麼變成了壓縮文件了
jar本身就是一種壓縮文件,可以使用解壓工具進行解壓。並且也可以使用javaw.exe打開