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
{
}


原文地址:https://www.cnblogs.com/xiangyangzhu/p/4260842.html