⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jar - java 归档工具.htm

📁 javn的Java书籍JAVA集合框架.rar我看过了是很有帮助的
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0081)http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/jar.html -->
<HTML><HEAD><TITLE>jar - Java 归档工具</TITLE>
<META http-equiv=Content-Type content="text/html; CHARSET=gb2312"><!-- Created by: Susan Keohan 30-Oct-1996 --><!-- Updated by: Beth Stearns 18-Nov-1996 --><!-- Updated by: Marianne Mueller 11-Dec-1996 -->
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<H1>jar - Java 归档工具</H1>
<BLOCKQUOTE>
  <P>将多个文件合并成单个 JAR 归档文件。</P></BLOCKQUOTE>
<H2>结构</H2>
<BLOCKQUOTE><PRE>
<STRONG>jar</STRONG> [ <A href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/jar.html#Options">options</A> ] [manifest] destination input-file [input-files]

</PRE></BLOCKQUOTE>
<H2>说明</H2>
<BLOCKQUOTE><B>
  <P>jar</B> 工具是个 java 应用程序,可将多个文件合并为单个 JAR 归档文件。<B>jar</B> 是个多用途的存档及压缩工具,它基于 
  ZIP 和 <A href="http://www.cdrom.com/pub/infozip/zlib/">ZLIB</A> 压缩格式。然而,设计 
  <B>jar</B> 的主要目的是便于将 java&nbsp; applet 或应用程序打包成单个归档文件。将 applet 或应用程序的组件( 
  .class 文件、图像和声音)合并成单个归档文件时,可以用 java 代理(如浏览器)在一次 HTTP 事务处理过程中 
  对它们进行下载,而不是对每个组件都要求一个新连接。这大大缩短了下载时间。<B>jar</B> 还能压缩文件,从而进一步提高了下载速度。此外,它允许 
  applet 的作者对文件中的各个项进行签名,因而可认证其来源。jar 工具的语法基本上与 <CODE>tar</CODE> 命令的语法相同。</P>
  <P>jar 工具的输入文件分为三种类型: 
  <UL>
    <LI>清单文件(可选) 
    <LI>目标 jar 文件 
    <LI>待归档的文件 </LI></UL>
  <P>通常用法是: </P><PRE>	% jar cf myjarfile *.class
</PRE>
  <P>在这个示例中,当前目录中的所有类文件都被放置到名为 "myjarfile" 的文件中。清单文件由 jar 工具自动生成,并且始终是 jar 
  文件的第一项。缺省情况下,它被命名为 
  META-INF/MANIFEST.MF。清单文件是存储与归档有关的元信息的地方。有关如何将元信息储存到清单文件的详细资料,请参阅<A 
  href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/guide/jar/manifest.html">清单规范</A>。</P>
  <P>如果事先已有一个清单文件且希望 jar 工具将它用于新的 jar 归档,则可以用 -m 选项来指定它: </P><PRE>	% jar cmf myManifestFile myJarFile *.class
</PRE>
  <P>清单使用 RFC822 ascii 格式,因此,很容易查看和处理“清单文件”的内容。</P></BLOCKQUOTE><A name=Options>
<H2>选项</H2></A>
<BLOCKQUOTE>
  <DL>
    <DT><CODE><B>c </B></CODE>
    <DD>在标准输出上创建新归档或空归档。 
    <DT><CODE><B>t </B></CODE>
    <DD>在标准输出上列出内容表。 
    <DT>  
    <DT><CODE><B>x</B></CODE> file 
    <DD>从标准输入提取所有文件,或只提取指定的文件。如果省略了 file,则提取所有文件;否则只提取指定文件。 
    <DT>  
    <DT><CODE><B>f </B></CODE>
    <DD>第二个参数指定要处理的 jar 文件。在 <B><CODE>c</CODE></B> (创建)情形中,第二个参数指的是要创建的 jar 
    文件的名称(不是在标准输出上)。在 <B><CODE>t</CODE></B>(表)或 
    <B><CODE>x</CODE></B>(抽取)这两种情形中,第二个参数指定要列出或抽取的 jar 文件。 
    <DT>  
    <DT><CODE><B>v </B></CODE>
    <DD>在标准错误输出设备上生成长格式的输出结果。 
    <DT>  
    <DT><CODE><B>m </B></CODE>
    <DD>包括指定的现有清单文件中的清单信息。用法举例: 
    <BLOCKQUOTE><PRE>jar cmf myManifestFile myJarFile *.class
</PRE></BLOCKQUOTE>
    <DT><CODE><B>0 </B></CODE>
    <DD>只储存,不进行 ZIP 压缩。 
    <DT>  
    <DT><CODE><B>M </B></CODE>
    <DD>不创建项目的清单文件。 
    <DT>  
    <DT><CODE><B>u </B></CODE>
    <DD>通过添加文件或更改清单来更新现有的 JAR 文件。例如: 
    <BLOCKQUOTE><PRE>jar -uf foo.jar foo.class
</PRE></BLOCKQUOTE>
    <P>将文件 <TT>foo.class</TT> 添加到现有的 JAR 文件 <TT>foo.jar</TT> 中,而 </P>
    <BLOCKQUOTE><PRE>jar umf manifest foo.jar
</PRE></BLOCKQUOTE>
    <P>则用<TT> manifest </TT>中的信息更新 <TT>foo.jar</TT> 的清单。</P>
    <DT><CODE><B>-C </B></CODE>
    <DD>在执行 <TT>jar</TT> 命令期间更改目录。例如: 
    <BLOCKQUOTE><PRE>jar -uf foo.jar -C classes *
</PRE></BLOCKQUOTE>
    <P>将<TT> classes </TT>目录内的所有文件加到 <TT>foo.jar</TT> 
中,但不添加类目录本身。</P></DD></DL></BLOCKQUOTE>
<P>如果有的<CODE>“files”</CODE>是目录,则该目录将被递归处理。</P>
<H2>示例</H2>
<BLOCKQUOTE>
  <P>将某个特定目录中的所有文件加到归档文件中:</P><PRE>$ ls
0.au            3.au            6.au            9.au            at_work.gif
1.au            4.au            7.au            Animator.class  monkey.jpg
2.au            5.au            8.au            Wave.class      spacemusic.au
$ jar cvf bundle.jar *
adding: 0.au
adding: 1.au
adding: 2.au
adding: 3.au
adding: 4.au
adding: 5.au
adding: 6.au
adding: 7.au
adding: 8.au
adding: 9.au
adding: Animator.class
adding: Wave.class
adding: at_work.gif
adding: monkey.jpg
adding: spacemusic.au
$
</PRE>
  <P>如果您的 html 目录中已有图像、音频文件和类的子目录,可以将每个目录归档到单个 jar 文件中: </P><PRE>$ ls
audio classes images
$ jar cvf bundle.jar audio classes images
adding: audio/1.au
adding: audio/2.au
adding: audio/3.au
adding: audio/spacemusic.au
adding: classes/Animator.class
adding: classes/Wave.class
adding: images/monkey.jpg
adding: images/at_work.gif
$ ls -l
total 142
drwxr-xr-x   2 brown    green        512 Aug  1 22:33 audio
-rw-r--r--   1 brown    green      68677 Aug  1 22:36 bundle.jar
drwxr-xr-x   2 brown    green        512 Aug  1 22:26 classes
drwxr-xr-x   2 brown    green        512 Aug  1 22:25 images
$
</PRE>
  <P>然后可以用 jar 工具和 "t" 选项查看 jarfile 中的项名: </P><PRE>$ ls
audio bundle.jar classes images
$ jar tf bundle.jar
META-INF/MANIFEST.MF
audio/1.au
audio/2.au
audio/3.au
audio/spacemusic.au
classes/Animator.class
classes/Wave.class
images/monkey.jpg
images/at_work.gif
$
</PRE>
  <P>用长格式进行列举(用 "v" 选项)将显示归档文件中各文件的更为详细的信息,例如各文件的大小和上次修改时间: </P><PRE>$ jar tvf bundle.jar
   145 Thu Aug 01 22:27:00 PDT 1996 META-INF/MANIFEST.MF
   946 Thu Aug 01 22:24:22 PDT 1996 audio/1.au
  1039 Thu Aug 01 22:24:22 PDT 1996 audio/2.au
   993 Thu Aug 01 22:24:22 PDT 1996 audio/3.au
 48072 Thu Aug 01 22:24:23 PDT 1996 audio/spacemusic.au
 16711 Thu Aug 01 22:25:50 PDT 1996 classes/Animator.class
  3368 Thu Aug 01 22:26:02 PDT 1996 classes/Wave.class
 12809 Thu Aug 01 22:24:48 PDT 1996 images/monkey.jpg
   527 Thu Aug 01 22:25:20 PDT 1996 images/at_work.gif
$
</PRE>
  <H2>另请参阅</H2>
  <BLOCKQUOTE><A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/guide/jar/jarGuide.html">
    <P>jar 指南</A><BR><A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/guide/jar/manifest.html">清单文件格式</A> 
    </P></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -