打包java程序生成exe

目标

我们知道c++的控制台程序编译运行以后就会生成一个exe可执行文件,在电脑上可以直接双击运行,但是java是跨平台的语言,编译运行以后的字节码文件.class是和平台无关的,所以有了想生成win下的java可执行文件的想法

准备

  • IDEA

    这个不用多说了吧,上一篇博客有提到,eclipse不会用,先就用IDEA吧

  • 第三方打包软件exe4j

    至于为啥叫这个名字我也不知道,这是一个很不错的,可以将jar包打包成exe文件的软件,具体用法后面讲,下载传送门
    戳那个箭头下载到电脑上,先别急着打开,这个软件不太好用

    开工

  • 打包java程序为jar包

    这里的jar包可以理解为不依靠平台(操作系统)存在的可执行文件,据说在win下jar包双击有一部分电脑也可以直接启动程序,但是我们的目标是生成exe,jar包是中间必须品

首先打开一个写好的java程序,右键project名字,选择Open Module Settings

在打开的页面中点击Artifacts

点击“+”号,根据下图提示依次点击

定义主函数名为Main

点击确认以后回到主界面,准备Build

根据提示点击

好了,现在在你的项目文件夹的out目录下找找就能找到jar包了,当然,你可以试试双击会怎样,貌似我的电脑是可以直接运行了,但是因为某些需求,要生成exe的,所以我们继续

  • 打包jar包为exe

    启动以后,第一步就是破解,这里粘一个别人的博客,我破解的网址找不到了,这个应该也能用传送门
    破解以后是这个样子

    点左边的project type,选择我们想要的功能

    点左边的下一个框,在右边输入想生成的文件名,选择生成路径

    点左边的下一个框,再次在右边输入文件名

    点击左边当前框的32-bit or 64-bit,勾选出来的提示框

    点击左边的下一个框,点击如图的+号,选择第一步操作生成的jar包

    选择以后确定

    回到刚才的页面,点...选择主函数Main

    点击左边的Jre框,在最低版本那里填1.6,然后点next

    导入jre,这之前把默认的后两个删除,再点击+号

    选择你电脑jar包的目录

    然后点击finish就可以啦!!,大功告成,开始奔放

    后记

    exe4j操作不太方便,其他的都挺好的,至于为什么非要执着要exe文件,是因为想在c++程序里用system执行外部程序,但是貌似system终究是和cmd有区别的,用cmd可以执行jar,,,噗,但是system不行,当然用了exe就肯定可以啦
    2018/12/16 15:21:41

打包java程序生成exe的更多相关文章

  1. Java程序生成exe可执行文件详细教程(图文说明)

    ava程序打包成exe可执行文件,分为两大步骤. 第一步:将Java程序通过Eclipse或者Myeclipse导成Jar包 第二步:通过exe4j讲Jar包程序生成exe可执行文件 第一步详解: 将 ...

  2. Java程序生成exe可执行文件

    Java程序打包成exe可执行文件,分为两大步骤. 第一步:将Java程序通过Eclipse或者Myeclipse导成Jar包 第二步:通过exe4j讲Jar包程序生成exe可执行文件 第一步详解: ...

  3. 打包java项目为可执行程序(exe)

    一直都是编写了java程序后在控制台 javac --> java 命令运行,或者在eclipse中运行,今天突然想怎么可以写好了一个项目随处可以运行呢? 于是网上搜了步骤,跟着一步一步实现了, ...

  4. 【exe4j】如何利用exe4j把java桌面程序生成exe文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  5. 使用IzPack打包JAVA Web应用程序

    使用IzPack打包JAVA Web应用程序步骤如下: 这里使用IzPack-4.3.5 + launch4j-3.1.0-beta1-win32.zip(绿色版)对Web应用程序打包,打包后即可对我 ...

  6. AccessToMySql数据库的导入以及java生成.exe文件

    一.AccessToMySql 最近做了一个Access数据库导入MySql的小工具,期间遇到诸多问题,这里小计一下. 表名为cur_rec,共有5个字段 比较奇葩的是这个表居然是四个字段的联合主键, ...

  7. Java转Exe

    1.Jsmooth Java文件打包成exe文件(可以在没安装JDK的环境下运行):http://www.tuicool.com/articles/byIFJn 2.用JSmooth制作java ja ...

  8. 【python】python打包生成的exe文件运行时提示缺少模块

    事情是这样的我用打包命令:pyinstaller -F E:\python\clpicdownload\mypython.py打包了一个exe程序,但是运行时提示我缺 少bs4模块然后我就去查pyin ...

  9. 使用rar把程序打包成一个exe

    根目录--全部文件--右键添加到压缩文件 常规--创建自解压压缩文件 高级--自解压选项 解压路径--Finger(自己写)--在"Program Files"中创建 设置--解压 ...

随机推荐

  1. exists,in的区别-mysql

    如说两张表一张是用户表TDefUser(userid,address,phone),一张是消费表TAccConsume(userid,time,amount),我要查消费超过5000的用户记录,那么我 ...

  2. P5302 [GXOI/GZOI2019]特技飞行

    题目地址:P5302 [GXOI/GZOI2019]特技飞行 这里是官方题解(by lydrainbowcat) 题意 给 \(10^5\) 条直线,给 \(x = st\) 和 \(x = ed\) ...

  3. ZOJ 4110 Strings in the Pocket (马拉车+回文串)

    链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4110 题目: BaoBao has just found two s ...

  4. Shell-仅保留最近3天的备份文件: find . -name "*.sql" -mtime +3 -ls -exec rm {} \;

    Code: find . -name "*.sql" -mtime +3 -ls -exec rm {} \;

  5. CodeForces 671C - Ultimate Weirdness of an Array

    题意: 给以一个定义, F(l, r) 的值表示序列 A[1:n]的子序列 A[1....(l-1),(r+1)...n] 之中 任意两个数的最大公约数的最大值. 求 Sum=∑i=1N∑j=1N(F ...

  6. Python安装xlrd和xlwt的步骤以及使用报错的解决方法

    一.安装xlrd和xlwt功能模块步骤 1.使用python -V查看python的版本号,并查看python安装环境,是否安装成功:   2.可以通过官网(python官网:https://pypi ...

  7. Django 之 流程和命令行工具

    一.一个简单的web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所 ...

  8. PHP斐波那契数列有点不明白有哪位大佬能给讲讲思想以及实现过程

    function Fibonacci($n){         if($n <= 0) {             return 0;         }elseif($n == 1) {    ...

  9. Scyther spdl(比较准确的翻译)

    1.协议的主要的核心是定义一个协议在协议中声明角色: Protocol  ExampleProtocol(I,R){ role I{   }; role R{   }://在角色中一开始我们没有定义角 ...

  10. STM32的定时器定时时间计算(计数时间和中断定时时间)

    时基单元 可编程高级控制定时器的主要部分是一个16位计数器和与其相关的自动装载寄存器.这个计数器可以向上计数.向下计数或者向上向下双向计数.此计数器时钟由预分频器分频得到. 计数器.自动装载寄存器和预 ...