下面是具体步骤:

一、先把自己的程序发布成jar文件

这是eclipse自带的功能,右键工程包-->Export

然后选择Java-->JAR file,next

选择输出路径,next

取消勾选Export class files with compile errors,因为一般warnings可以忽视,而errors不行,next

选择main class,即带有main方法的类,finish即可。

二、将jar文件转为exe文件

jar文件已经可以运行。但需要发给别人运行还需要转为exe文件

方法有很多,我这里用了exe4j这个软件,感觉还不错

下载很容易找,这里不提

安装完之后打开软件,有十个步骤

十个步骤之前。需要自己创建一个文件夹,名字随意,用来保存转换中需要的环境资源文件

里面需要有你jdk文件夹里的jre和lib两个文件夹的文件 ,复制过来即可

还有之前生成的jar文件,以下是创建好的目录结构

然后看软件

1.welcome

这里如果第一次用不需要管,next

如果你使用完保存过输出配置,可以选open configuration

这里还有个注册吗:http://blog.sina.com.cn/s/blog_002e20310101bt9y.html

2.Project type

选择“JRA IN EXE” mode,next

3.Application info

上面的框填写程序名字

下面的框选择输出路径

4.Configure executable

GUI application-->勾选allow..

下面框填写文件名字

icon file可以自己选择图标文件(介绍个网站:http://www.favicon-icon-generator.com/favicon

如果限制只能同时打开一个程序,勾选allow only a single...

其他基本默认。

如果你的exe4j和jdk位数不一致,记得把advanced options里的32bit or 64bit勾选

否则生成不报错exe也无法正确运行

5.Java invocation

点Class path框右边的绿色加号

把自己生成的jar文件路径写进Archive

(用到的外部jar包也要都添加进去)

然后下面main class from框选择含有main方法的类

6.JRE

Minimum和Maximum填写允许的最小和最大jdk版本号

Configure  search sequence选项

框里应该只保留Search Windows registry,没有的话右边绿色箭头添加

其他的删除后,绿色箭头添加Directory,找到我们开始的时候拷到文件夹里的jre

perferred VM选择默认即可

7-10基本无脑next即可

可以保存自己本次的配置以便以后使用

第一次用过之后出现的问题比较少,基本没有报错

但位数问题导致exe打开失败。所以前面也提及了,但我jdk和exe4j都用的64位,系统也是64位

具体原因还有待研究

原文链接:https://blog.csdn.net/qq_28718481/article/details/78848191

java代码转化为jar包,再转化为.exe文件步骤的更多相关文章

  1. 新手入门:java文件转成jar包再转成exe文件——图文教程

    [本文简介] 由于课程设计的原因,研究着如何把java 程序转成exe,最终成功了,现在把过程记录分享一下. 本文将介绍如何把一个跑在eclipse的java应用,导出成jar文件,再变成exe可执行 ...

  2. Java使用POM一JAR包的形式管理JavaScript文件-WebJars

    说明:原来JS框架还可以使用POM进行管理的.WebJars是一个很神奇的东西,可以让大家以JAR包的形式来使用前端的各种框架.组件. 什么是WebJars 什么是WebJars?WebJars是将客 ...

  3. java代码打包成jar以及转换为exe

    教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...

  4. JAVA生成(可执行)Jar包的全面详解说明 [打包][SpringBoot][Eclipse][IDEA][Maven][Gradle][分离][可执行]

    辛苦所得,转载还请注明: https://www.cnblogs.com/applerosa/p/9739007.html  得空整理了关于java 开发中,所有打包方式的 一个操作方法, 有基于ID ...

  5. Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)

    最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...

  6. 【Android端】代码打包成jar包/aar形式

    Android端代码打包成jar包和aar形式: 首先,jar包的形式和aar形式有什么区别? 1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/d ...

  7. Redis(Windows安装方法与Java调用实例 & 配置文件参数说明 & Java使用Redis所用Jar包 & Redis与Memcached区别 & redis-cli.exe命令及示例)

    Windows下Redis的安装使用 0.前言 因为是初次使用,所以是在windows下进行安装和使用,参考了几篇博客,下面整理一下 1.安装Redis 官方网站:http://redis.io/ 官 ...

  8. 【转载】JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案

    JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案 本文为转载,原文地址为:https://www.cnblogs.com/adversary/p/103 ...

  9. Java命令行启动jar包更改默认端口以及配置文件的几种方式

    Java命令行启动jar包更改默认端口以及配置文件的几种方式 java -jar xxx.jar --server.port=8081 默认如果jar包没有启动文件,可以采用这种方式进行启动 java ...

  10. 使用 DJ Java Decompiler 将整个jar包反编译成源文件

    使用 DJ Java Decompiler 将整个jar包反编译成源文件 所使用的软件是 DJ Java Decompiler 3.9. 下面是一个有用的参考文档,说明如何批量编译 http://ww ...

随机推荐

  1. 【方法】原生js实现方法ajax封装

    /* 参数说明* type[String] 请求方式('POST'或'GET') 默认设置'GET'方式* dataType[String] 获取到的后台数据格式 默认'JSON'格式* async[ ...

  2. jquery animated选择器 语法

    jquery animated选择器 语法 作用::animated 选择器选取当前的所有动画元素.直线电机参数 语法:$(":animated") jquery animated ...

  3. UVa 725 Division (枚举)

    题意 : 输入正整数n,按从小到大的顺序输出所有形如abcde/fghij = n的表达式,其中a-j恰好为数字0-9的一个排列(可以有前导0),2≤n≤79. 分析 : 最暴力的方法莫过于采用数组存 ...

  4. 【canvas学习笔记六】状态保存和变换

    save()和restore() save() 保存当前状态,将当前canvas的状态存入栈中. restore() 恢复之前save的一个状态,将之前的状态从栈中弹出. 保存的当前状态包含以下信息: ...

  5. MySQL_DQL操作

    DQL(Data Query Language)简单的来说就是数据的查询语言. 1.最简单的查询(显示表中的所有信息) 语法: select * from 表名; 2.普通查询 语法: select ...

  6. springboot(五).如何在springboot项目中使用拦截器

    在每个项目中,拦截器都是我们经常会去使用的东西,基本上任一一个项目都缺不了拦截器的使用. 如日志记录.登录验证,session验证等,都需要拦截器来拦截URL请求,那springboot中的拦截器是如 ...

  7. 百度编辑器ueditor上传图片失败,显示上传错误,实际上图片已经传到服务器或者本地

    报错,上传失败,图片没有显示,且调试response没有信息,但是图片已经上传到了本地 这个问题是因为ueditor里面的Upload.class.php里面__construct()方法里面的ico ...

  8. JVM参数设置-jdk8参数设置

    JVM参数设置 1.基本参数 参数名称 含义 默认值   -Xms 初始堆大小 内存的1/64 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx ...

  9. bash中的set, env, export unset的区别

    参考这篇文章很好 参考这篇文章2 -------------------------- == set显示的是当前shell的变量, 不同的shell, 它的私有变量是不同的 env是显示用户的变量, ...

  10. mysql数据库连接错误10060

    今天在使用mysql数据库的时候,出现错误ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10060) 我在网上一顿 ...