将class文件打包成可执行文件
1.新建一个java文件,编译成class文件,如TreeDemo1.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class TreeDemo1
{
public TreeDemo1()
{
JFrame f = new JFrame("TreeDemo");
Container contentPane = f.getContentPane();
String[] s1 = {"公司文件","个人信件","私人文件"};
String[] s2 = {"本机磁盘(C:)","本机磁盘(D:)","本机磁盘(E:)"};
String[] s3 = {"奇摩站","职棒消息","网络书店"};
Hashtable hashtable1 = new Hashtable();
Hashtable hashtable2 = new Hashtable();
hashtable1.put("我的公文包",s1);
hashtable1.put("我的电脑",s2);
hashtable1.put("收藏夹",hashtable2);
hashtable2.put("网站列表",s3);
JTree tree = new JTree(hashtable1);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(tree);
contentPane.add(scrollPane);
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String args[]) {
new TreeDemo1();
}
}
2.写一个Manifest文件,如Manifest.txt,内容(横线之间部分)如下:
------------------------------------------------------------------------------------------------------
Manifest-Version: 1.0
Main-Class:TreeDemo1
------------------------------------------------------------------------------------------------------
注意最后加一个换行.
3.打包,
jar cvfm demo.jar Manifest.txt TreeDemo1.class(如果有多个class文件,则用*.class代表)
4.双击生成的demo.jar文件,即可执行(只针对有窗体的class).
5.更多命令参数见jar帮助
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用ZIP压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:
如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。
示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvf classes.jar Foo.class Bar.class
示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有
文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvfm classes.jar mymanifest -C foo/ .
6.另外,还可以将class文件生成exe文件,一款工具exe4j可以实现,这里有介绍.
http://blog.csdn.net/zhoubin_java/archive/2005/04/14/348142.aspx
exe4j:http://www.ej-technologies.com/products/exe4j/overview.html