zoukankan      html  css  js  c++  java
  • 将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

  • 相关阅读:
    二、云计算openstack共享组件--时间同步服务ntp
    一、云计算openstack介绍
    五、Kvm虚拟机迁移
    四、Kvm虚拟化网络管理
    三、Kvm虚拟化存储管理
    二、kvm虚拟机管理
    一、kvm虚拟化介绍
    九、Linux网络技术管理及进程管理
    园主的码云网站,可以在里面查看园主的练习代码哦
    万能Makefile,前戏做足项目做起来才顺畅。
  • 原文地址:https://www.cnblogs.com/longware/p/13382410.html
Copyright © 2011-2022 走看看