java代码转化为jar包,再转化为.exe文件步骤
下面是具体步骤:
一、先把自己的程序发布成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文件步骤的更多相关文章
- 新手入门:java文件转成jar包再转成exe文件——图文教程
[本文简介] 由于课程设计的原因,研究着如何把java 程序转成exe,最终成功了,现在把过程记录分享一下. 本文将介绍如何把一个跑在eclipse的java应用,导出成jar文件,再变成exe可执行 ...
- Java使用POM一JAR包的形式管理JavaScript文件-WebJars
说明:原来JS框架还可以使用POM进行管理的.WebJars是一个很神奇的东西,可以让大家以JAR包的形式来使用前端的各种框架.组件. 什么是WebJars 什么是WebJars?WebJars是将客 ...
- java代码打包成jar以及转换为exe
教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...
- JAVA生成(可执行)Jar包的全面详解说明 [打包][SpringBoot][Eclipse][IDEA][Maven][Gradle][分离][可执行]
辛苦所得,转载还请注明: https://www.cnblogs.com/applerosa/p/9739007.html 得空整理了关于java 开发中,所有打包方式的 一个操作方法, 有基于ID ...
- Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)
最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...
- 【Android端】代码打包成jar包/aar形式
Android端代码打包成jar包和aar形式: 首先,jar包的形式和aar形式有什么区别? 1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/d ...
- Redis(Windows安装方法与Java调用实例 & 配置文件参数说明 & Java使用Redis所用Jar包 & Redis与Memcached区别 & redis-cli.exe命令及示例)
Windows下Redis的安装使用 0.前言 因为是初次使用,所以是在windows下进行安装和使用,参考了几篇博客,下面整理一下 1.安装Redis 官方网站:http://redis.io/ 官 ...
- 【转载】JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案
JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案 本文为转载,原文地址为:https://www.cnblogs.com/adversary/p/103 ...
- Java命令行启动jar包更改默认端口以及配置文件的几种方式
Java命令行启动jar包更改默认端口以及配置文件的几种方式 java -jar xxx.jar --server.port=8081 默认如果jar包没有启动文件,可以采用这种方式进行启动 java ...
- 使用 DJ Java Decompiler 将整个jar包反编译成源文件
使用 DJ Java Decompiler 将整个jar包反编译成源文件 所使用的软件是 DJ Java Decompiler 3.9. 下面是一个有用的参考文档,说明如何批量编译 http://ww ...
随机推荐
- vue中为computed计算属性传参遇到的问题,已解决
首先介绍下项目背景, 需要将 dataList 中的 item.stars 属性传入 computed 返回要展示的值 部分代码如下(请不要纠结为什么这么做,数据格式确认如此): <li cla ...
- net core 返回值
//指定类下的子类 Type helloType = typeof(ActionResult); List<Type> types = new List<Type>(); fo ...
- (54)LINUX应用编程和网络编程之九Linux网络通信实践
3.9.1.linux网络编程框架 3.9.1.1.网络是分层的 (1)OSI 7层模型(理论指导) (2)网络为什么要分层 (3)网络分层的具体表现 3.9.1.2.TCP/IP协议引入(网络分层实 ...
- es6新的数据类型——generator
todo 一.Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同. 语法上,首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态. 执行 ...
- Java中用正则表达式截取字符串中
Java中用正则表达式截取字符串中第一个出现的英文左括号之前的字符串.比如:北京市(海淀区)(朝阳区)(西城区),截取结果为:北京市.正则表达式为() A ".*?(?=\\()" ...
- 大数据笔记(二十五)——Scala函数式编程
===================== Scala函数式编程 ======================== 一.Scala中的函数 (*) 函数是Scala中的头等公民,就和数字一样,可以在变 ...
- JDK中String类的源码分析(一)
1.String类是final的,不允许被继承 /** The value is used for character storage. */ private final char value[]; ...
- postman抓包
三个问题: 如何安装? 基本了解? 如何使用? 一.安装方法: 包括离线端安装和chrome插件安装,我用chrome插件安装成功 postman安装及使用 打开Chrome,依次选择“选项”> ...
- 把一个树莓派SD卡系统和文件迁移到空SD卡中
1.打开win32diskimager软件读出SD卡树莓派系统和文件到电脑的镜像文件中, 2.使用 SD card formatter 格式化SD卡 3.再用win32diskimager往空SD卡写 ...
- linux 汇编函数调用
edi第一个参数 esi第二个参数 edx第三个参数 rax保存结果 C++代码如下: char* demo(char* a,int b){ static char* buf=0; if(!buf)b ...