jar:JavaTM Archive (JAR) file,java存档文件
我们的输入(要压缩的东西)主要是class文件,还有辅助的资源(这其中可能有图片,jsp文件,html文件等等)。
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
[i][color=blue]
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用zip压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:
[/color][/i]
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。
示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
[color=blue][i]jar cvf classes.jar Foo.class Bar.class [/i][/color]
示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有文件存档到一个名为 'classes.jar' 的存档文件中:
[i][color=blue]jar cvfm classes.jar mymanifest -C foo/ .[/color][/i]
_____________________________________________________________________
我们只有一个HelloWorld,如下:
[i]public class HelloWorld{
public static void main(String[ ] args){
System.out.println("Hi, Hello World!");
}
} [/i]
将这个java文件存到C盘跟目录下,ok,接下来,
>javac HelloWorld.java
>jar cvf hello.jar HelloWorld.class
打开刚刚做好的helloword.jar包,多了META-INF目录,其中包含一个MANIFEST.MF文件,其内容是:
[i]Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.) [/i]
加一句:Main-Class: HelloWorld(在第三行)。这个就是我们之前写的那个类,也就是我们的入口类。也即,
[i]Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.)
[b]Main-Class: HelloWorld[/b] [/i]
接下来,我们在命令提示符里执行:
>jar umf MANIFEST.MF hello.jar
这样我们使用了我们自己的MANIFEST.MF文件对原来默认的进行了更新
>java -jar hello.jar
Hi, Hello World!
我们的输入(要压缩的东西)主要是class文件,还有辅助的资源(这其中可能有图片,jsp文件,html文件等等)。
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
[i][color=blue]
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用zip压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:
[/color][/i]
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。
示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
[color=blue][i]jar cvf classes.jar Foo.class Bar.class [/i][/color]
示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有文件存档到一个名为 'classes.jar' 的存档文件中:
[i][color=blue]jar cvfm classes.jar mymanifest -C foo/ .[/color][/i]
_____________________________________________________________________
我们只有一个HelloWorld,如下:
[i]public class HelloWorld{
public static void main(String[ ] args){
System.out.println("Hi, Hello World!");
}
} [/i]
将这个java文件存到C盘跟目录下,ok,接下来,
>javac HelloWorld.java
>jar cvf hello.jar HelloWorld.class
打开刚刚做好的helloword.jar包,多了META-INF目录,其中包含一个MANIFEST.MF文件,其内容是:
[i]Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.) [/i]
加一句:Main-Class: HelloWorld(在第三行)。这个就是我们之前写的那个类,也就是我们的入口类。也即,
[i]Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.)
[b]Main-Class: HelloWorld[/b] [/i]
接下来,我们在命令提示符里执行:
>jar umf MANIFEST.MF hello.jar
这样我们使用了我们自己的MANIFEST.MF文件对原来默认的进行了更新
>java -jar hello.jar
Hi, Hello World!