??xml version="1.0" encoding="utf-8" standalone="yes"?>国产亚洲精品资在线,国产亚洲色婷婷久久99精品91,国产亚洲精品仙踪林在线播放http://www.tkk7.com/yrj11320/category/3859.html天生我才必有用,千金散尽q复来!
zh-cnWed, 28 Feb 2007 03:25:23 GMTWed, 28 Feb 2007 03:25:23 GMT60JAR文g包及jar命o详解 http://www.tkk7.com/yrj11320/archive/2005/10/16/15647.html不胖用砖?/dc:creator>不胖用砖?/author>Sun, 16 Oct 2005 08:27:00 GMThttp://www.tkk7.com/yrj11320/archive/2005/10/16/15647.htmlhttp://www.tkk7.com/yrj11320/comments/15647.htmlhttp://www.tkk7.com/yrj11320/archive/2005/10/16/15647.html#Feedback1http://www.tkk7.com/yrj11320/comments/commentRss/15647.htmlhttp://www.tkk7.com/yrj11320/services/trackbacks/15647.html常常在网上看到有问:如何?nbsp;java E序~译?nbsp;.exe 文g。通常回答只有两种Q一U是制作一个可执行?nbsp;JAR 文g包,然后可以像.chm 文一样双击运行了Q而另一U是使用 JET 来进?nbsp;~译。但?nbsp;JET 是要用钱买的Q而且据说 JET 也不是能把所有的 Java E序都编译成执行文gQ性能也要打些折扣。所以,使用制作可执?nbsp;JAR 文g包的Ҏ是最佳选择了,何况它还能保?nbsp;Java 的跨q_Ҏ?BR> 下面来看看什么是 JAR 文g包吧Q?nbsp;
1. JAR 文g?nbsp;
JAR 文g是 Java Archive FileQ顾名思意Q它的应用是?nbsp;Java 息息相关的,?nbsp;Java 的一U文格式。JAR 文g非常cM ZIP 文g??准确的说Q它是 ZIP 文gQ所以叫它文件包。JAR 文g?nbsp;ZIP 文g唯一的区别就是在 JAR 文g的内容中Q包含了一?nbsp;META-INF/MANIFEST.MF 文gQ这个文件是在生?nbsp;JAR 文g的时候自动创建的。D个例子,如果我们h如下目录l构的一些文Ӟ
==
`-- test
`-- Test.class
把它压羃?nbsp;ZIP 文g test.zipQ则q个 ZIP 文g的内部目录结构ؓQ?nbsp;
test.zip
`-- test
`-- Test.class
如果我们使用 JDK ?nbsp;jar 命o把它打成 JAR 文g?nbsp;test.jarQ则q个 JAR 文g的内部目录结构ؓQ?nbsp;
?nbsp;test.jar 中添加了文g manifest.mfQ此使用 jar tf 来查?nbsp;test.jar 可以发现 test.jar 中比原来多了一?nbsp;manifest。这里顺便提一下,如果使用 -m 参数q指?nbsp;manifest.mf 文gQ那?nbsp;manifest.mf 是作为清单文?nbsp;MANIFEST 来用的Q它的内容会被添加到 MANIFEST 中;但是Q如果作Z般文件添加到 JAR 文g包中Q它跟一般文件无异?nbsp;
10) jar uvf test.jar manifest.mf
?nbsp;9) l果相同Q同时有详细信息昄Q如Q?nbsp;
增加Qmanifest.mf(d= 17) (写出= 19)(压羃?nbsp;-11%)
4. 关于 JAR 文g包的一些技?nbsp;
1) 使用 unzip 来解?nbsp;JAR 文g
在介l?nbsp;JAR 文g的时候就已经说过了,JAR 文g实际上就?nbsp;ZIP 文gQ所以可以用常见的一些解?nbsp;ZIP 文g的工h解压 JAR 文gQ如 Windows 下的 WinZip、WinRAR {和 Linux 下的 unzip {。?nbsp;WinZip ?nbsp;WinRAR {来解压是因为它们解压比较直观,方便。而?nbsp;unzipQ则是因为它解压时可以?nbsp;-d 参数指定目标目录?nbsp;
在解压一?nbsp;JAR 文g的时候是不能使用 jar ?nbsp;-C 参数来指定解压的目标的,因ؓ -C 参数只在创徏或者更新包的时候可用。那么需要将文g解压到某个指定目录下的时候就需要先这?nbsp;JAR 文g拯到目标目录下Q再q行解压Q比较麻烦。如果?nbsp;unzipQ就不需要这么麻烦了Q只需要指定一?nbsp;-d 参数卛_。如Q?nbsp;
unzip test.jar -d dest/
2) 使用 WinZip 或?nbsp;WinRAR {工具创?nbsp;JAR 文g
上面提到 JAR 文g是包含?nbsp;META-INF/MANIFEST ?nbsp;ZIP 文gQ所以,只需要?nbsp;WinZip、WinRAR {工具创建所需?nbsp;ZIP 压羃包,再往q个 ZIP 压羃包中d一个包?nbsp;MANIFEST 文g?nbsp;META-INF 目录卛_。对于?nbsp;jar 命o?nbsp;-m 参数指定清单文g的情况,只需要将q个 MANIFEST 按需要修改即可?nbsp;
3) 使用 jar 命o创徏 ZIP 文g
有些 Linux 下提供了 unzip 命oQ但没有 zip 命oQ所以需要可以对 ZIP 文gq行解压Q即不能创徏 ZIP 文g。如要创Z?nbsp;ZIP 文gQ用带 -M 参数?nbsp;jar 命o卛_Q因?nbsp;-M 参数表示制作 JAR 包的时候不d MANIFEST 清单Q那么只需要在指定目标 JAR 文g的地方将 .jar 扩展名改?nbsp;.zip 扩展名,创徏的就是一个不折不扣的 ZIP 文g了,如将上一节的W?nbsp;3) 个例子略作改动: