假定当前工作目录在E盘:

1、带包编译:javac -d c:\ MyMenuDemo.java

2、DOS命令行切换到c盘,注意,这里一般切换到的是用户文件目录,需要手动切换到C盘根目录

>C:

>cd/

3、jar -cvf my.jar mymenu

装会出现错误:Failed to load Main-Class manifest attribute from c:\my.jar

或者出现异常错误。

原因:很简单,系统不知道先执行哪个类。

解决方法:需要配置:Main-Class属性

4、在mymenu平齐目录下即c:\下新建一个文件,格式随意,例如:1.txt

文件中输入:Main-Class: mymenu.MyMenuDemo

注意格式:冒号后面必须有一个空格,行结尾必须有换行符(回车)****重要****,保存退出。

5、>jar -cvfm my.jar 1.txt mymenu  此时双击my.jar就可以运行了

注意一个小问题:如果jar包是自己安装的,那么没关系。若是绿色版,那么jar没有注册,会出现不识别现象。

xp--工具--文件类型--高级--查看jar情况。具体方法问度娘。

示例程序:

package mymenu;

import java.awt.*;
import java.awt.event.*;
import java.io.*; public class MyMenuDemo
{
private Frame f;
private MenuBar mb;
private Menu m;
private MenuItem closeItem;
private Menu subMenu;
private MenuItem subMenuItem; MyMenuDemo()
{
init(); } public void init()
{
f=new Frame("my frame");
f.setBounds(300,200,650,600);
f.setLayout(new FlowLayout()); //设置窗体格式 mb = new MenuBar(); //创建菜单条实例
m = new Menu("文件");//创建菜单实例
closeItem=new MenuItem("退出");//创建菜单项 //创建子菜单子条目实例
subMenu=new Menu("子菜单");
subMenuItem=new MenuItem("子条目"); f.setMenuBar(mb); mb.add(m);
m.add(closeItem); //添加子菜单子条目
m.add(subMenu);
subMenu.add(subMenuItem); myEvent(); //为窗体加载事件 f.setVisible(true); } private void myEvent()
{
//窗体关闭事件
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
} public static void main(String[] args)
{
new MyMenuDemo();
}
} //添加事例
class JarTest1
{
}
class JarTest2
{
}
class JarTest3
{
}
class JarTest4
{
}

java中如何制作可双击执行的程序--jar打包工具的使用的更多相关文章

  1. Java中Date类型如何向前向后滚动时间,( 附工具类)

    Java中的Date类型向前向后滚动时间(附工具类) 废话不多说,先看工具类: import java.text.SimpleDateFormat; import java.util.Calendar ...

  2. java的jar打包工具的使用

    java的jar打包工具的使用 java的jar是一个打包工具,用于将我们编译后的class文件打包起来,这里面主要是举一个例子用来说明这个工具的使用. 在C盘下的temp文件夹下面:         ...

  3. java中return与finally的执行顺序

    可不能小看这个简单的 finally,看似简单的问题背后,却隐藏了无数的玄机.接下来我就带您一步一步的揭开这个 finally 的神秘面纱. 问题分析 首先来问大家一个问题:finally 语句块一定 ...

  4. Java中try catch finally的执行顺序问题

    finally 语句块是在 try 或者 catch 中的 return 语句之前执行的.更加一般的说法是,finally 语句块应该是在控制转移语句之前执行,控制转移语句除了 return 外,还有 ...

  5. java中等待所有线程都执行结束(转)

    转自:http://blog.csdn.net/liweisnake/article/details/12966761 今天看到一篇文章,是关于java中如何等待所有线程都执行结束,文章总结得很好,原 ...

  6. java中等待所有线程都执行结束

    转自:http://blog.csdn.net/liweisnake/article/details/12966761 今天看到一篇文章,是关于java中如何等待所有线程都执行结束,文章总结得很好,原 ...

  7. java中静态初始化块的执行顺序

    在java中,其应该是先于所有的方法执行. 下面是测试代码: public class Test1 { static{ System.out.println("执行静态初始化块test1.. ...

  8. 理清Java中try-catch-finally带return的执行顺序

    前言:try-catch-finally带return和异常时,它们之间执行顺序问题是留下来的一个小疑问,今天搞清楚它们 第一种情况:无异常 //1.try-catch-finally都带有retur ...

  9. java中最简单的计算执行时长的方式

    日常在做一些性能测试的时候会通过执行时间来判断执行时长,java中最简单的方式如下: //开始时间 long startL= new Date().getTime(); //这里需要导入 java.u ...

随机推荐

  1. 1 android 人脸识别

    1 https://www.google.com.hk/search?newwindow=1&safe=strict&q=android+%E5%9B%BE%E7%89%87%E4%B ...

  2. C#中执行存储过程并在SQL server中调试

    1.编写存储过程 ) drop PROCEDURE [dbo].[sp_calcPci_of_baseRcd_GTmpTbl] CREATE PROCEDURE [dbo].[sp_calcPci_o ...

  3. [ACM] HDU 5078 Osu!

    Osu! Problem Description Osu! is a very popular music game. Basically, it is a game about clicking. ...

  4. Android开源--PullToRefresh

    开源地址: https://github.com/chrisbanes/Android-PullToRefresh 简单介绍:PullToRefresh是一款支持ListView,GridView,V ...

  5. 【最后的冲刺】android中excel表的导入和数据处理

    [最后的冲刺]android中excel表的导入和数据处理 ——学校课程的查询和修改 1.编写 The Class类把课程表courses.db当做一个实体类,hashcode和equals这两个类是 ...

  6. 方法return外部链接

    return new ModelAndView(new RedirectView(url));

  7. PHP设置会话(Session)超时过期时间实现登录时间限制

    最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考. 第一种方法即设置php.ini配置文件,设置session.gc_ ...

  8. tensorflow-gpu 1.13 提示找不到 libcublas.so.10.0 的问题

    tensorflow-gpu 使用 1.13.1,cuda-10-0已安装好,但启动时依然报错 ImportError: libcublas.so.10.0: cannot open shared o ...

  9. 从Java视角理解CPU缓存和伪共享

    转载自:http://ifeve.com/from-javaeye-cpu-cache/               http://ifeve.com/from-javaeye-false-shari ...

  10. 《TomCat与Java Web开发技术详解》(第二版) 第八章节的学习总结 -- 访问mysql

    终于学到如何访问Mysql了 1. 可以看看此章节提供的sql脚本,以后可以照着写了.此外,对于Mysql如何使用,最好的地方就是其官网介绍了.http://dev.mysql.com/doc/ref ...