使用JAR

news/2025/3/14 17:38:31/

使用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文件。

 


http://www.ppmy.cn/news/918177.html

相关文章

使用Vue-Router实现页面跳转

安装 npm install vue-router4 --save项目中新建router.js文件 import { createRouter,createWebHashHistory } from "vue-router"; import Home from "/pages/Home.vue" import Banner from "/pages/Banner.vue" import Post from "/pag…

jajaj

Docs 第二章&#xff1a;字符串和文本 2.2 字符串开头或结尾匹配 Edit on GitHub 2.2 字符串开头或结尾匹配 问题 你需要通过指定的文本模式去检查字符串的开头或者结尾&#xff0c;比如文件名后缀&#xff0c;URL Scheme等等。 解决方案 检查字符串开头或结尾的一个简单方法是…

java/AJAX

1) asynchronous javascript and xml(异步的 javascript 和 xml)。 为了解决传统的 web 应用当中“等待-响应-等待"的弊端而创建的一种技术&#xff0c;其实质可以理解 为:使用浏览器内置的一个对象(XmlHttpRequest)向服务器发送请求&#xff0c;服务器返回 xml 数据 戒者…

pip install mysqlclient安装

很长时间以来&#xff0c;在安装mysqlclient时&#xff0c;一直安装不上&#xff0c;当安装好mysql电脑端的客户端时&#xff0c;很轻易就可以安装上了&#xff0c;只是在安装mysql8.0时&#xff0c;每次安装完以后&#xff0c;就无法连接&#xff0c;说初始密码错误&#xff0…

JYaml

JYaml JYaml支持的数据类型&#xff1a; 原始数据类型和封装类&#xff08;int,java.lang.Integer&#xff09;JavaBean兼容对象&#xff08;结构支持&#xff09;collection(sequence支持) ListSet Map&#xff08;map支持&#xff09;Arrays&#xff08;sequence支持&#…

PhpSpreadsheet怎么设置单元格边框

$styleArray [borders > [allBorders > [borderStyle > Border::BORDER_THIN //细边框]] ];$worksheet->getStyle(A1:N1)->applyFromArray($styleArray);说明&#xff1a; $worksheet是PhpOffice\PhpSpreadsheet\Worksheet的实例 $styleArray中borders数组中支…

A jax

Ajax 让浏览器跟服务器交互的一套API. 作用就是可以让浏览器和服务器进行交互。服务器 服务器 就是提供某种服务的 电脑(机器)常见的服务器有以下几种&#xff1a;- 数据库服务 - 文件服务 - 多媒体服务(音视频) - 邮件服务 - Web服务前端访问服务器的几种方式 1.直接输入网址2…