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
ä¸æ¾ç¤ºä»»ä½ä¿¡æ¯ï¼ä½æ¯è§£åæå
温馨提示:答案为网友推荐,仅供参考