使用JAR

我的翻译 专栏收录该内容
17 篇文章 0 订阅

使用JAR

翻译:Cherami

email:cherami@163.net

原文:http://developer.java.sun.com/developer/TechTips/2000/tt0411.html

你试过使用JAR 文件归档吗?你可能已经听说过一个叫"tar" 或者磁带归档文件的UNIX 工具,它通常用于将一组文件进行备份。在JDK 1.1 及以后的发布中,有一个类似的工具"jar" 或者叫Java 打包器。下面是使用的方法。

使用下面的方法创建一个 JAR 包:

 
    
     $ jar cf archive.jar file1 file2 ...
    
 
    

创建归档包以后,你可以列出其中的内容:

 
    
     $ jar tf archive.jar
    
 
    

而且可以将文件从中提取出来:

 
    
     $ jar xf archive.jar [file1 file2 ...]
    
 
    

为什么JAR 工具很重要呢?毕竟有很多不同的ZIP 工具用于打包并压缩文件。它的一个重要的用处就是绑定多个类文件。一组类文件可以构成一个包或者库。例如,在Windows 95 或者 NT 下,你可以说:

 
    
        CLASSPATH="lib1.jar;lib2.jar;"
    
 
    

它的另一个非常重要的用法就是优化applet的加载。考虑下面这个简单的applet

 
    
// applet.java
    
import java.awt.*;
    
import java.applet.*;
    
 
    
public class applet extends Applet {
    
  public void paint(Graphics g)
    
  {
    
    String s = Message.getIntro(getParameter("intro"));
    
    g.drawString(s, 25, 25);
    
  }
    
}
    
 
    

它访问一个辅助类:

 
    
     // Message.java
    
     public class Message {
    
         public static String getIntro(String t)
    
         {
    
             if (t != null)
    
                 return t;
    
             else
    
                 return "Hello world!";
    
         }
    
     }
    
 
    

你用HTML 代码调用这个applet,例如:

 
    
<HTML>
    
<HEAD>
    
<TITLE>Hello World Example Applet </TITLE>
    
</HEAD>
    
<BODY>
    
<APPLET CODE="applet.class" ARCHIVE="applet.jar" 
    
  WIDTH="150" HEIGHT=150>
    
<PARAM NAME="intro" VALUE="good morning">
    
</APPLET>
    
</BODY>
    
</HTML>
    
 
    

注意"archive"属性。没有这个设置,每个像Message这样的辅助类被加载时都会向保存该HTML页面的服务器调用一个独立的请求。但是使用JAR 文件,不同的类文件可以被更加高效的下载。

在这个例子中,你使用下面的命令创建archive.jar

 
    
     $ javac applet.java
    
     $ jar cf applet.jar *.class
    
 
    

也就是用当前目录下的所有的类文件构建那个JAR文件。

最后注意:JAR 文件也可用于JavaBeans

译者注:jar文件的格式就是标准的zip文件,可以用最流行的zip工具winzip创建jar文件,创建完以后只需要修改扩展名即可,当然也可以在创建的时候就指定文件名。当然也可以用winzip解包jar文件和查看列表。需要注意的是另一个zip工具winrar不能用于创建jar文件,因为winrar的压缩比例更大,不是标准的zip格式,但是可以用它解包jar文件。

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值