原帖:
http://ankye1234.blog.163.com/blog/static/9648289200691201534457/
这几天闲着没事,把一个java程序打包,听朋友说java生成可执行文件很难,自己写的程序只能在编译工具中运行,发布不了,还难不成让别人跟你一样输入命令操作.好了,现在实战开始,让我们一步一步的把它做成可执行文件.
程序源代码:(是java核心技术卷一的一个源程序,我们就拿它做示范)
编译后有四个文件
ImageViewer.class
ImageViewerFrame$1.class
ImageViewerFrame$2.class
ImageViewerFrame.class
现在我们来生成jar文件
写个批处理简单点^_^
jar cvf Image.jar ImageViewer.class ImageViewerFrame$1.class ImageViewerFrame$2.class ImageViewerFrame.class
把这个新建一个记事本文件保存成Image.bat后缀
运行这个Image.jar
打开Image.jar 在目录META-INF文件夹下修改MANIFEST.MF
添加Main-Class: Image(注意空格,在冒号后有一个空格)
保存修改,ok
咱们再新建一个start.bat输入代码:
java -jar Image.jar
现在你双击start.bat,是不是程序可以运行了,你现在可以把start.bat和Image.jar发给你的朋友,他们也可以分享你的程序了.
over!
http://ankye1234.blog.163.com/blog/static/9648289200691201534457/
这几天闲着没事,把一个java程序打包,听朋友说java生成可执行文件很难,自己写的程序只能在编译工具中运行,发布不了,还难不成让别人跟你一样输入命令操作.好了,现在实战开始,让我们一步一步的把它做成可执行文件.
程序源代码:(是java核心技术卷一的一个源程序,我们就拿它做示范)
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class ImageViewer
{
public static void main(String[] args)
{
JFrame frame=new ImageViewerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
label=new JLabel();
Container contentPane=getContentPane();
contentPane.add(label);
chooser =new JFileChooser();
chooser.setCurrentDirectory(new File("."));
JMenuBar menubar =new JMenuBar();
setJMenuBar(menubar);
JMenu menu=new JMenu("File");
menubar.add(menu);
JMenuItem openItem =new JMenuItem("Open");
menu.add(openItem);
openItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
int r=chooser.showOpenDialog(null);
if(r==JFileChooser.APPROVE_OPTION)
{
String label.setIcon(new ImageIcon(name));
}
}
});
JMenuItem exitItem =new JMenuItem("Exit");
menu.add(exitItem);
exitItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
});
}
private JLabel label;
private JFileChooser chooser;
private static final int DEFAULT_WIDTH=300;
private static final int DEFAULT_HEIGHT=400;
}
编译后有四个文件
ImageViewer.class
ImageViewerFrame$1.class
ImageViewerFrame$2.class
ImageViewerFrame.class
现在我们来生成jar文件
写个批处理简单点^_^
jar cvf Image.jar ImageViewer.class ImageViewerFrame$1.class ImageViewerFrame$2.class ImageViewerFrame.class
把这个新建一个记事本文件保存成Image.bat后缀
运行这个Image.jar
打开Image.jar 在目录META-INF文件夹下修改MANIFEST.MF
添加Main-Class: Image(注意空格,在冒号后有一个空格)
保存修改,ok
咱们再新建一个start.bat输入代码:
java -jar Image.jar
现在你双击start.bat,是不是程序可以运行了,你现在可以把start.bat和Image.jar发给你的朋友,他们也可以分享你的程序了.
over!