在Java开发工具包里有个jar工具,它能够把多个单独文件打包进一个jar档案文件。jar是一个大包和压缩工具,基于zip算法,所以jar文件能够使用zip工具,例如Winzip或者Winrar程序都可打开察看或者解压缩jar文件。使用jar文件有以下好处:
- 安全。能够对jar文件数字签名,只让能够识别数字签名的用户使用里面的东西。
- 加快下载速度。在网上使用Applet时,如果存在多个文件而不打包,为了能够把每个需要的文件都下在下来,需要为每个文件单独建一个http连接,而这将是非常耗时的工作。jar打包他们,只要建立一次http链接就能够完成所有文件的连接。
- 压缩。使文件变小,这就不用细说了吧?
- 包封装。能够让jar包里面的文件依赖于统一版本的类文件。
- 可移植性。jar作为内嵌在java平台内部处理的标准部分,能够在各种平台上直接使用。
用法:jar{ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C目录] 文件名……
各参数的具体定义这里就不细说了,可以参考其他资料。
这里仅举一例说明应用程序的打包发布:
1.编写Java应用程序----App.java
//begin
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class App extends JFrame {
JLabel label;
public App() {
label=new JLabel("Hello, World!!! I Will use jar...");
Container c=getContentPane();
c.add(label);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
}
public static void main(String args[]) {
App mainFrame = new App();
mainFrame.setSize(400, 400);
mainFrame.setTitle("My App");
mainFrame.setVisible(true);
}
}
//end
2.编译无误后,编写manifest.mft清单文件,格式如下:
//begin
Manifest-Version: 1.0
Main-Class: App
Classpath: ./App.jar
//end
说明:每行前后都不得有多余空格;Main-Class:后是主类(包含mani方法的类);Classpath:是欲生成的应用程序的名称及路径;文件名及格式必须是manifest.mft
3.在Dos下进入你的程序文件目录,如c:/app;键入以下命令:
c:/app>jar cvfm App.jar manifest.mft App.class
4.在你的应用程序目录app下,将生成Java应用程序App.jar,鼠标双击,程序将运行。
怎么样?简单吧?