idea生成的jar转成exe 附jre和Launch.exe下载链接
idea生成jar包转成exe 附jre和Launch.exe下载链接
我使用的idea版本:ULTIMATE 2018.1
1 idea生成可执行jar
注意:
1 Main class 要选择自己要执行程序的入口类。
2 勾选上Include in Project build
注意: 在前面设置的时候并没有改变输出目录,所以编译生成的可执行jar位置 在 默认的输出目录下
idea 默认输出目录是项目下的out目录
可以查看idea输出目录: File -> Project Settings -> Project
2 将jar 转成 exe
下载 Launch.exe
链接:https://pan.baidu.com/s/1TZ6pjLOyDkJel_puIaYFvQ
提取码:oxm6
解压后如下:
readme.txt 介绍了如果操作使用
jar 转 exe 说明:
1 在当前目录下需要有 Launch.exe 、launcher.cfg 和 java的运行环境目录(目录名要和launcher.cfg里面配置一致)
2 将要转换的jar 放在 当前目录
3 配置launcher.cfg介绍
.
.\jre1.8.0_92\bin\javaw.exe
-jar testJavaExe.jar
第一行 . 表示当前目录
第二行 jre1.8.0_92 是当前目录下面java的运行环境目录名
第三行 testJavaExe.jar 是要执行的jar
根据readme.txt提示,将需要转换的jar 放到解压后目录中, 打开配置文件,将配置文件中 执行的jar 改成你要执行的jar , 如果要更换java 运行环境也是一样的操作.
3 执行exe程序
左键双击Launch.exe 即可启动运行jar , 将整个目录拷贝到别的没有java运行环境window电脑上也能运行。
注: Launch.exe 所在目录就是 jar程序的根目录,所以如果要执行的jar需要访问一些资源的话,将资源拷贝到 Launch.exe 所在目录。如我举例的jar程序运行时会访问 项目根目录下 config/version 文件里面的版本号
Main.java 文件
package test;
import javax.swing.*;
import java.awt.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
/**
* @author
*/
public class Main extends JFrame {
public static void main(String[] args) {
Main dm = new Main();
}
public Main() {
//读取配置文件版本号
String user_dir = System.getProperty("user.dir");
String version = "";
File file = new File(user_dir+File.separator+"config"+File.separator+"version");
BufferedReader reader = null;
try{
reader = new BufferedReader(new FileReader(file));
version = reader.readLine();
reader.close();
}catch(Exception e){ }
JButton jb = new JButton("测试java jar转exe,版本号:"+version);
jb.setFont(new Font("", 1, 20));
this.add(jb, BorderLayout.CENTER);
//设置窗口属性
this.setSize(400, 200);
this.setLocation(700, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setVisible(true);
this.setTitle("testJavaExe");
}
}
- 如果Launch.exe 所在目录 没有 记录版本号的 config/version 文件,执行结果如下:
- 在 Launch.exe 所在目录 新增 记录版本号的 config/version 文件写入内容 “1.0”,执行结果如下:
参考:
https://blog.csdn.net/honjane/article/details/40739337
https://blog.csdn.net/qq_29496057/article/details/53333419