雨中漫步的gravatar头像
雨中漫步 2017-04-25 17:49:08

如何把Java web项目打包成exe可执行文件?

如何把Java web项目打包成exe可执行文件?

所有回答列表(5)
cheshi的gravatar头像
cheshi  LV4 2017年4月27日

用以下命令打包独立程序(在控制台运行)
javapackager -deploy -appclass Test -native image -srcdir archive -outdir deploy -outfile Test -Bruntime=$JAVA_HOME/jre
参数说明

-appclass Test
还是指定应用程序主类

-srcdir archive
指定源目录,这里指定的是我们刚才打包存放 jar 文件的目录

-outdir deploy
指定输出目录,名字随你喜好

-outfile Test
指定输出文件名,名字随你喜好

-native image
指定输出的本地程序类型,image 的话只生成一个启动器(exe),也有别的选项可以生成安装程序等等(需要第三方工具)

-Bruntime=$JAVA_HOME/jre(如果不加这个参数会自动选择本地的jdk)
指定打包出来的独立程序使用的 jre 的位置,这里用的是本人的 jdk 自带的 jre,如果你用的是 cmd 的话写成 %JAVA_HOME%\jre
也可以指定别的 jre,但是要小心保证 javapackager 所在的 jdk 和所使用的 jre 的位数相同(即都是32位或都是64位,最好版本也相同,最最好就直接用 jdk 自带的 jre)
这样打包就完成了,可以自己运行以下试试

评论(0) 最佳答案
wentao的gravatar头像
wentao  LV24 2017年4月26日

可以参考dbeaver

程序猿全敏的gravatar头像
程序猿全敏  LV29 2017年4月26日

第一步:将浏览器嵌入到java swing中,需要的三个包如下:DJNativeSwing.jar  DJNativeSwing-SWT.jar  swt-3.6M3-win32-win32-x86

代码如下:

package com.langtop.webBrowser;

import chrriis.common.UIUtils;
import chrriis.dj.nativeswing.NSOption;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class CRMWebBrowser extends JPanel {
	public CRMWebBrowser() {
		super(new BorderLayout());
		JPanel webBrowserPanel = new JPanel(new BorderLayout());
		JWebBrowser webBrowser = new JWebBrowser(new NSOption[0]);
		webBrowser.navigate("http://baidu.com");
		webBrowserPanel.add(webBrowser, "Center");
		add(webBrowserPanel, "Center");
		webBrowser.setMenuBarVisible(false);
		webBrowser.setLocationBarVisible(false);
		webBrowser.setBarsVisible(false);
		webBrowser.setOpaque(false);
		webBrowser.setStatusBarVisible(false);
		JPanel buttonPanel = new JPanel(new FlowLayout(1, 4, 4));
		add(buttonPanel, "South");
	}

	public static void main(String[] args) {
		UIUtils.setPreferredLookAndFeel();
		NativeInterface.open();
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				JFrame frame = new JFrame("百度PC客户端测试");
				frame.setDefaultCloseOperation(3);
				frame.setIconImage(Toolkit.getDefaultToolkit().createImage(
						"/icon.png"));
				frame.getContentPane().add(new CRMWebBrowser(), "Center");
				frame.setExtendedState(6);
				frame.setDefaultCloseOperation(3);
				frame.setLocationByPlatform(true);
				frame.setVisible(true);
			}
		});
		NativeInterface.runEventPump();
	}
}

第二步:打成jar包

     用myeclipse 提供的打包工具,它不会将第三方用的包打包进去,所以下载 myeclipse插件  fat jar ,这个插件可以将第三方包打进你要打的包里面。

第三步:生成可exe可执行文件

    下载exe4j工具将jar包生成exe可执行文件,但是这样不会将java环境打包进去,这样生成的exe文件是无法在没有java环境的机器上运行的,所以将jdk目录下的jre目录全部cope出来发在和jar文件的同目录,这样再生成exe文件,java环境也就有了,将这个文件夹全部copy给别人就能用了,但是这样每次都要去copy一个文件夹,很麻烦,也很不专业。

第四步:生成exe可执行文件,生成安装文件,这样别人拿到这个exe安装文件后,直接点击安装,jre目录也就直接生成在安装目录了。

           下载Inno Setup Compiler 这个工具,操作上一步生成的exe文件,一步一步将生成可安装的exe文件。

xiaocheng一的gravatar头像
xiaocheng一 2017年4月27日

你可以直接用打包工具   简单粗暴

temptation的gravatar头像
temptation  LV16 2017年5月5日

installanywhere 你值得拥有。

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友