zoukankan      html  css  js  c++  java
  • java中如何制作可双击执行的程序--jar打包工具的使用

    假定当前工作目录在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
    {
    }


  • 相关阅读:
    泛型冒泡排序继承IComparable接口
    C#中枚举与位枚举的区别和使用
    C#中把二维数组转为一维数组
    一维数组的冒泡排序
    C#控制台的两个二维数组相加
    vs2019连接MySql的连接字符串
    Ajax方法请求WebService实现多级联动
    kafka-manager无法启动解决方法
    SQL优化————Insert
    读写锁
  • 原文地址:https://www.cnblogs.com/xiangyangzhu/p/4260842.html
Copyright © 2011-2022 走看看