`
kevin_wanwei
  • 浏览: 114542 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jar 命令简介

阅读更多
jar 命令用途:采用zip和ZLIB的压缩格式,将一系列程序相关的文件压缩为一个文件。
优点:
1)  加快Applet的下载速度。
2)  提高控件下载的安全性,因为所有的文件均在一个文件中,这样不会有不明文件,jar文件的压缩包包含jar文件结构信息,它包存在META-INF\MANIFEST.MF文件。该文件可以用来指明主类(main class)
jar 命令使用如下:
1.  察看jar 命令参数:
C:\java>jar
用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] file
s ...
选项包括:
    -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/ .
 2.参数详细解释:
-c:
用途:创建一个新的jar文件,该参数要和-f参数一起使用,f参数用于指明文件名。
源程序如下:
package com.heda.chain;

class A{}

class B{}

class C{}

class D{}

public class Test{

		public static void main(String[] args){
			System.out.println("Hello jar");
		}
}
将源文件编译为class文件:
C:\java>javac -d .\  Test.java 
然后使用jar命令将所有字节码文件打成jar包
C:\java>jar -cf hello.jar com/heda/chain/*.class
-t:
列出jar文件里面所包括的文件
C:\java>jar -tf hello.jar
-f:
用途:指明创建的jar文件的名字。每一个参数后均要加上f参数。
-x:
用途:将jar文件解压缩(我把hello.jar拷贝到c:\test中)
C:\java>jar -xf hello.jar
-v:
用途:显示jar文件更详细的信息,可以在每个参数的后面直接加上参数v
对比 –tf 来说显示信息更加详细
C:\java>jar -vtf hello.jar
-m:
用途:创建jar文件时,定义jar文件的结构信息,如:主类。
例子:
第一步:打开记事本编辑一个文件in(文件名随意,但是不能有后缀)
注意:冒号和 love.com.cn.U之间有空格(一定要有),还有文件必须以空行结束,如果忽略的话不能正常
添加
第二步:使用命令
C:\java>jar -cmf in hello.jar *.*
第三步:解压缩hello.jar 你会发现MANIFEST.MF内容有所改变
第四步:运行jar里面主类
C:\java>java -jar  hello.jar
当然你也可以编辑一个后缀是 .bat 的批处理文件(文件名随便)
内容如下:
java -jar hello.jar
最后双击执行bat文件就可以了
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics