锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
涓嬮潰灝辨潵鐪嬬湅浠涔堟槸 JAR 鏂囦歡鍖呭惂錛?
1. JAR 鏂囦歡鍖?
JAR 鏂囦歡灝辨槸 Java Archive File錛岄【鍚嶆濇剰錛屽畠鐨勫簲鐢ㄦ槸涓?Java鎭伅鐩稿叧鐨勶紝鏄?Java鐨勪竴縐嶆枃妗f牸寮忋侸AR 鏂囦歡闈炲父綾諱技 ZIP 鏂囦歡鈥斺斿噯紜殑璇達紝瀹冨氨鏄?ZIP 鏂囦歡錛屾墍浠ュ彨瀹冩枃浠跺寘銆侸AR 鏂囦歡涓?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 紼嬪簭銆傚洜姝わ紝璁稿浜鴻錛孞ava 鏄竴縐嶆柟渚垮紑鍙戣呰嫤浜嗙敤鎴風殑紼嬪簭璁捐璇█銆?
鍏跺疄涓嶇劧錛屽鏋滃紑鍙戣呰兘澶熷埗浣滀竴涓彲鎵ц鐨?JAR 鏂囦歡鍖呬氦緇欑敤鎴鳳紝閭d箞鐢ㄦ埛浣跨敤璧鋒潵灝辨柟渚夸簡銆傚湪 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 <鍥炶濺>;
榪欎釜 manifest.mf 鍙互鏀懼湪浠諱綍浣嶇疆錛屼篃鍙互鏄叾瀹冪殑鏂囦歡鍚嶏紝鍙渶瑕佹湁 Main-Class: test.Test 涓琛岋紝涓旇琛屼互涓涓洖杞︾緇撴潫鍗沖彲銆傚垱寤轟簡 manifest.mf 鏂囦歡涔嬪悗錛屾垜浠殑鐩綍緇撴瀯鍙樹負錛?
==
|-- test
|銆 `-- Test.class
`-- manifest.mf
榪欐椂鍊欙紝闇瑕佸埌 test 鐩綍鐨勪笂綰х洰褰曚腑鍘諱嬌鐢?jar 鍛戒護鏉ュ垱寤?JAR 鏂囦歡鍖呫備篃灝辨槸鍦ㄧ洰褰曟爲涓嬌鐢?#8220;==”琛ㄧず鐨勯偅涓洰褰曚腑錛屼嬌鐢ㄥ涓嬪懡浠わ細
jar cvfm test.jar manifest.mf test
涔嬪悗鍦?#8220;==”鐩綍涓垱寤轟簡 test.jar錛岃繖涓?test.jar 灝辨槸鎵ц鐨?JAR 鏂囦歡鍖呫傝繍琛屾椂鍙渶瑕佷嬌鐢?java -jar test.jar 鍛戒護鍗沖彲銆?
闇瑕佹敞鎰忕殑鏄紝鍒涘緩鐨?JAR 鏂囦歡鍖呬腑闇瑕佸寘鍚畬鏁寸殑銆佷笌 Java 紼嬪簭鐨勫寘緇撴瀯瀵瑰簲鐨勭洰褰曠粨鏋勶紝灝卞儚涓婁緥涓鏍楓傝?Main-Class 鎸囧畾鐨勭被錛屼篃蹇呴』鏄畬鏁寸殑銆佸寘鍚寘璺緞鐨勭被鍚嶏紝濡備笂渚嬬殑 test.Test錛涜屼笖鍦ㄦ病鏈夋墦鎴?JAR 鏂囦歡鍖呬箣鍓嶅彲浠ヤ嬌鐢?java <綾誨悕>; 鏉ヨ繍琛岃繖涓被錛屽嵆鍦ㄤ笂渚嬩腑 java test.Test 鏄彲浠ユ紜繍琛岀殑 (褰撶劧瑕佸湪 CLASSPATH 姝g‘鐨勬儏鍐典笅)銆?
(娉ㄦ剰浜嬮」鍙婁竴浜涗唬鐮侊細)
鎵嬪伐鍐檓anifest.mf鏂囦歡(jar鍛戒護鑷姩鐢熸垚鐨凪ANIFEST.MF鏂囦歡涓笉浼氬寘鍚玀ain-Class灞炴?錛屼婦渚嬭鏄庯細
鐩綍緇撴瀯錛?/span>
mymanifest.mf //璇ユ枃浠跺彲浠ラ殢鎰忔斁緗?鍙鍦ㄦ墽琛宩ar鍛戒護鏃舵寚瀹歮ymanifest.mf鏂囦歡鎵鍦ㄤ綅緗?
-src
-test
Test.class
test.Test浠g爜錛?/span>
mymanifest.mf鏂囦歡鍐呭錛?/span>
Manifest-Version: 1.0
//璇ュ睘鎬ф槸鍒涘緩鍙墽琛宩ar鍖呭繀闇鐨勶紝鎸囧畾鐨凪ain-Class涓哄叏璺緞綾誨悕錛堜笖璇ョ被蹇呴渶鏈塵ain鏂規硶錛?/span>
Main-Class: test.Test
Created-By: polaris
鍦╯rc鐩綍涓嬫墽琛岋細
jar cvfm test.jar ../mymanifest.mf .
瀹屾垚鍚庝細鍦╯rc鐩綍涓嬬敓鎴愪竴涓猼est.jar鏂囦歡銆傜敱浜庢病鏈夊彲瑙嗗寲鐣岄潰錛屽弻鍑籺est.jar灝嗕細鐪嬪埌娌″弽搴斻?/span>
鍦ㄥ懡浠よ鎵цjava -jar test.jar灝變細寰楀埌杈撳嚭HelloWorld!
榪欐椂灝卞畬鎴愪簡鍩烘湰鐨勫垱寤哄彲鎵ц鐨刯ar鍖呫?/span>
鍒涘緩瑕佷緷璧栧叾浠栧寘鐨勫彲鎵цjar鍖呫?/span>
榪欐椂鍙鏇存敼mymanifest.mf鏂囦歡鍔犲叆錛?/span>
Manifest-Version: 1.0
//璇ュ睘鎬ф槸鍒涘緩鍙墽琛宩ar鍖呭繀闇鐨勶紝鎸囧畾鐨凪ain-Class涓哄叏璺緞綾誨悕錛堜笖璇ョ被蹇呴渶鏈塵ain鏂規硶錛?/span>
Main-Class: test.Test
//璇ュ睘鎬ф寚瀹氫緷璧栧寘鐨勮礬寰?璺緞鏄浉瀵筳ar鍖呮墍鍦ㄨ礬寰?
Class-Path: lib/swing-layout-1.0.jar //榪欓噷涓句緥璇存槑錛岄殢渚跨敤鐨勫寘
Created-By: KuKei
鐩綍緇撴瀯錛?/span>
-src
-test
TestDepends.class //鍋囪璇ョ被鎵ц渚濊禆浜?swing-layout-1.0.jar錛屽叿浣撲唬鐮佺暐銆?/span>
testDepends.jar
-lib
swing-layout-1.0.jar
鍙屽嚮testDepends.jar灝辮兘姝g‘鎵ц錛屽鏋淭estDepends.jar鍖呮墍鍦ㄧ殑褰撳墠鐩綍涓嬫病鏈塴ib/swing-layout-1.0.jar鐨勮瘽錛屽涓嬬洰褰曠粨鏋勶細
-src
-test
TestDepends.class //鍋囪璇ョ被鎵ц渚濊禆浜?swing-layout-1.0.jar錛屽叿浣撲唬鐮佺暐銆?/span>
testDepends.jar
鍙屽嚮testDepends.jar,灝嗕細鎶ould not find the main class, Program will exit.
鍦ㄥ懡浠よ鎵ц java -jar testDepends.jar,灝變細寰楀埌鎵句笉鍒癟estDepends.class涓墍渚濊禆鐨勭被鐨勯敊璇?
3銆佷嬌鐢ㄧ殑Eclipse鐨勫鍑哄姛鑳藉埗浣滃彲鎵цjar鍖?/span>
鍦ㄩ」鐩殑Src涓婂彸閿偣鍑籈xport錛涢夋嫨瀵煎嚭鐩綍錛岄噸瑕佺殑鍦ㄧ涓夋鏃墮夋嫨鑷繁鍐欑殑mymanifest.mf鏂囦歡錛?/span>
涔嬫墍浠ar鍖呰兘鎵ц灝辨槸鍥犱負榪欎釜鏂囦歡閲岄潰鎸囧畾浜?em>Main-Class銆?/em>
4銆乯ar 鍛戒護璇﹁В
jar 鏄殢 JDK 瀹夎鐨勶紝鍦?JDK 瀹夎鐩綍涓嬬殑 bin 鐩綍涓紝Windows 涓嬫枃浠跺悕涓?jar.exe錛孡inux 涓嬫枃浠跺悕涓?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)
澧炲姞錛歵est/(璇誨叆= 0) (鍐欏嚭= 0)(瀛樺偍浜?0%)
澧炲姞錛歵est/Test.class(璇誨叆= 7) (鍐欏嚭= 6)(鍘嬬緝浜?14%)
3) jar cvfM test.jar test
璇ュ懡浠や笌 2) 緇撴灉綾諱技錛屼絾鍦ㄧ敓鎴愮殑 test.jar 涓病鏈夊寘鍚?META-INF/MANIFEST 鏂囦歡錛屾墦鍖呰繃紼嬬殑淇℃伅涔熺暐鏈夊樊鍒細
澧炲姞錛歵est/(璇誨叆= 0) (鍐欏嚭= 0)(瀛樺偍浜?0%)
澧炲姞錛歵est/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
瑙e紑 test.jar 鍒板綋鍓嶇洰褰曪紝涓嶆樉紺轟換浣曚俊鎭紝瀵逛簬 2) 鐢熸垚鐨?test.jar錛岃В寮鍚庣殑鐩綍緇撴瀯濡備笅錛?
==
|-- META-INF
|銆 `-- MANIFEST
`-- test
`--Test.class
8) jar xvf test.jar
榪愯緇撴灉涓?7) 鐩稿悓錛屽浜庤В鍘嬭繃紼嬫湁璇︾粏淇℃伅鏄劇ず錛屽錛?
鍒涘緩錛歁ETA-INF/
灞曞紑錛歁ETA-INF/MANIFEST.MF
鍒涘緩錛歵est/
灞曞紑錛歵est/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) 緇撴灉鐩稿悓錛屽悓鏃舵湁璇︾粏淇℃伅鏄劇ず錛屽錛?
澧炲姞錛歮anifest.mf(璇誨叆= 17) (鍐欏嚭= 19)(鍘嬬緝浜?-11%)
5銆佸叧浜?JAR 鏂囦歡鍖呯殑涓浜涙妧宸?/span>
1) 浣跨敤 unzip 鏉ヨВ鍘?JAR 鏂囦歡
鍦ㄤ粙緇?JAR 鏂囦歡鐨勬椂鍊欏氨宸茬粡璇磋繃浜嗭紝JAR 鏂囦歡瀹為檯涓婂氨鏄?ZIP 鏂囦歡錛屾墍浠ュ彲浠ヤ嬌鐢ㄥ父瑙佺殑涓浜涜В鍘?ZIP 鏂囦歡鐨勫伐鍏鋒潵瑙e帇 JAR 鏂囦歡錛屽 Windows 涓嬬殑 WinZip銆乄inRAR 絳夊拰 Linux 涓嬬殑 unzip 絳夈備嬌鐢?WinZip 鍜?WinRAR 絳夋潵瑙e帇鏄洜涓哄畠浠В鍘嬫瘮杈冪洿瑙傦紝鏂逛究銆傝屼嬌鐢?unzip錛屽垯鏄洜涓哄畠瑙e帇鏃跺彲浠ヤ嬌鐢?-d 鍙傛暟鎸囧畾鐩爣鐩綍銆?
鍦ㄨВ鍘嬩竴涓?JAR 鏂囦歡鐨勬椂鍊欐槸涓嶈兘浣跨敤 jar 鐨?-C 鍙傛暟鏉ユ寚瀹氳В鍘嬬殑鐩爣鐨勶紝鍥犱負 -C 鍙傛暟鍙湪鍒涘緩鎴栬呮洿鏂板寘鐨勬椂鍊欏彲鐢ㄣ傞偅涔堥渶瑕佸皢鏂囦歡瑙e帇鍒版煇涓寚瀹氱洰褰曚笅鐨勬椂鍊欏氨闇瑕佸厛灝嗚繖鍏?JAR 鏂囦歡鎷瘋礉鍒扮洰鏍囩洰褰曚笅錛屽啀榪涜瑙e帇錛屾瘮杈冮夯鐑︺傚鏋滀嬌鐢?unzip錛屽氨涓嶉渶瑕佽繖涔堥夯鐑︿簡錛屽彧闇瑕佹寚瀹氫竴涓?-d 鍙傛暟鍗沖彲銆傚錛?
unzip test.jar -d dest/
2) 浣跨敤 WinZip 鎴栬?WinRAR 絳夊伐鍏峰垱寤?JAR 鏂囦歡
涓婇潰鎻愬埌 JAR 鏂囦歡灝辨槸鍖呭惈浜?META-INF/MANIFEST 鐨?ZIP 鏂囦歡錛屾墍浠ワ紝鍙渶瑕佷嬌鐢?WinZip銆乄inRAR 絳夊伐鍏峰垱寤烘墍闇瑕?ZIP 鍘嬬緝鍖咃紝鍐嶅線榪欎釜 ZIP 鍘嬬緝鍖呬腑娣誨姞涓涓寘鍚?MANIFEST 鏂囦歡鐨?META-INF 鐩綍鍗沖彲銆傚浜庝嬌鐢?jar 鍛戒護鐨?-m 鍙傛暟鎸囧畾娓呭崟鏂囦歡鐨勬儏鍐碉紝鍙渶瑕佸皢榪欎釜 MANIFEST 鎸夐渶瑕佷慨鏀瑰嵆鍙?
3) 浣跨敤 jar 鍛戒護鍒涘緩 ZIP 鏂囦歡
鏈変簺 Linux 涓嬫彁渚涗簡 unzip 鍛戒護錛屼絾娌℃湁 zip 鍛戒護錛屾墍浠ラ渶瑕佸彲浠ュ ZIP 鏂囦歡榪涜瑙e帇錛屽嵆涓嶈兘鍒涘緩 ZIP 鏂囦歡銆傚瑕佸垱寤轟竴涓?ZIP 鏂囦歡錛屼嬌鐢ㄥ甫 -M 鍙傛暟鐨?jar 鍛戒護鍗沖彲錛屽洜涓?-M 鍙傛暟琛ㄧず鍒朵綔 JAR 鍖呯殑鏃跺欎笉娣誨姞 MANIFEST 娓呭崟錛岄偅涔堝彧闇瑕佸湪鎸囧畾鐩爣 JAR 鏂囦歡鐨勫湴鏂瑰皢 .jar 鎵╁睍鍚嶆敼涓?.zip 鎵╁睍鍚嶏紝鍒涘緩鐨勫氨鏄竴涓笉鎶樹笉鎵g殑 ZIP 鏂囦歡浜嗭紝濡傚皢涓婁竴鑺傜殑絎?3) 涓緥瀛愮暐浣滄敼鍔細
jar cvfM test.zip test
綆鍗曟潵璇達紝Java鐨勫簭鍒楀寲鏈哄埗鏄氳繃鍦ㄨ繍琛屾椂鍒ゆ柇綾葷殑serialVersionUID鏉ラ獙璇佺増鏈竴鑷存х殑銆傚湪榪涜鍙嶅簭鍒楀寲鏃訛紝JVM浼氭妸浼犳潵鐨勫瓧鑺傛祦涓殑serialVersionUID涓庢湰鍦扮浉搴斿疄浣擄紙綾伙級鐨剆erialVersionUID榪涜姣旇緝錛屽鏋滅浉鍚屽氨璁や負鏄竴鑷寸殑錛屽彲浠ヨ繘琛屽弽搴忓垪鍖栵紝鍚﹀垯灝變細鍑虹幇搴忓垪鍖栫増鏈笉涓鑷寸殑寮傚父銆?br />
褰撳疄鐜癹ava.io.Serializable鎺ュ彛鐨勫疄浣擄紙綾伙級娌℃湁鏄懼紡鍦板畾涔変竴涓悕涓簊erialVersionUID錛岀被鍨嬩負long鐨勫彉閲忔椂錛孞ava搴忓垪鍖栨満鍒朵細鏍規嵁緙栬瘧鐨刢lass鑷姩鐢熸垚涓涓猻erialVersionUID浣滃簭鍒楀寲鐗堟湰姣旇緝鐢紝榪欑鎯呭喌涓嬶紝鍙湁鍚屼竴嬈$紪璇戠敓鎴愮殑 class鎵嶄細鐢熸垚鐩稿悓鐨剆erialVersionUID 銆?br />
濡傛灉鎴戜滑涓嶅笇鏈涢氳繃緙栬瘧鏉ュ己鍒跺垝鍒嗚蔣浠剁増鏈紝鍗沖疄鐜板簭鍒楀寲鎺ュ彛鐨勫疄浣撹兘澶熷吋瀹瑰厛鍓嶇増鏈紝鏈綔鏇存敼鐨勭被錛屽氨闇瑕佹樉寮忓湴瀹氫箟涓涓悕涓簊erialVersionUID錛岀被鍨嬩負long鐨勫彉閲忥紝涓嶄慨鏀硅繖涓彉閲忓肩殑搴忓垪鍖栧疄浣撻兘鍙互鐩鎬簰榪涜涓茶鍖栧拰鍙嶄覆琛屽寲銆?br />