Java项目打包成exe的详细教程

Java项目打包成exe的详细教程

把Java项目打包成exe共分为以下两步:

1、 利用Eclipse先把Java项目先打成jar包

2、 利用exe4j工具把jar包转成exe

 

这里以Java项目(ExeDemo)为例进行讲解

随便在一个位置新建一个文件夹,文件夹的名称也可以随便起,这里我们在桌面上新建一个文件ExeDemo

 

 

1、利用Eclipse先把Java项目先打成jar包

(1)找到要转成exe的Java项目

 

(2)Export相应的Java项目

 

(3)选择Java->JAR file

 

(4)按照如下设置,然后点击Finish结束

 

(5)即可生成相应的jar包(ExeDemo.jar文件)

 

2、利用exe4j工具把jar包转成exe

(1)把Java项目中引用的jar包lib目录拷贝到ExeDemo目录中

 

 

(2)把自己电脑上装的jre环境也拷贝到ExeDemo目录中

 

(3)在ExeDemo目录中可以新建一个image(名字可以自己随便起)目录,存放JFrame要引用的图标

至于程序中的路径可以参考以下代码:

mainJFrame.setIconImage(newImageIcon(System.getProperty("user.dir")+"\\image\\logo.jpg").getImage());

 

(4)安装exe4j工具(自己上网下载,我用的是exe4j 5.0)

 

(5)打开exe4j工具,点击Next

 

(6)选择JAR in EXE mode

 

(7)输入exe程序短名称和exe程序输出位置

 

(8)输入应用程序名称,如果想为程序添加图标ico,可以在这一步的红色方框位置选择图标ico的位置。

 

(9)这一步是选择产生一个64位的可执行程序exe

(10)这一步是选择要添加的jar包,把Java项目打包成的JAR包【ExeDemo.jar】和Java项目中外部依赖的JAR包【也就是lib文件夹中的JAR包】都添加进来和根据Java项目实际情况选择主类(cn.demo.UIMain)。主类就是你的程序运行的入口

 

 

如果是JAVA项目工程是UTF-8,为了防止JAVA项目中的读写中文字符串有乱码产生,可以在这里红框位置添加参数(-Dfile.encoding=utf-8)

如果打包出来出现乱码情况则:打包的时候设置编码:exe4j的Configurejava invocation 的VMParameters 

输入:-Dfile.encoding=utf-8 来防止打包后的exe出现乱码

 

(11)填写JRE最小版本需求

 

(12)添加并选择JRE Search sequence,也就是JRE环境搜索顺序。

 

 

 

 

 

 

并利用右下角的蓝色小箭头将项目中的jre放在最上面,让exe搜索JRE的时候优先选择ExeDemo文件夹中包含的JRE

 

 

 

(13)选择Next

 

 

 

 

(14)选择Next

 

 

(15)最后即可生成ExeDemo.exe可执行程序

(16)双击即可运行程序。

 

文章来源:https://blog.csdn.net/youngstar70/article/details/75116227。文章写的实在太详细了,非常感谢博主的分享

转载于:https://www.cnblogs.com/jepson6669/p/9211211.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485792.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学史上的哲学绝唱——无穷观与数学基础的争论

来源:《广西民族大学学报》2014年11月作者:郭龙先,黄永两千多年来,数学家们一直试图从少数公理出发,根据明确给出的演绎规则推导出其他数学定理,从而把整个数学构造成为一个严密的演绎大厦,然后…

Leetcode--141. 环形链表

给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入:head …

解读自动驾驶的2020:从硬件角度看,无人车商业化落地难在哪?

来源 :AI前线作者 :滴滴自动驾驶技术团队策划 :陈思「重点问题」什么是合适的无人驾驶车辆平台?复杂场景下的“无人驾驶”,传感器硬件系统还有哪些挑战?告别 demo 硬件系统后,下一个前装量产的必…

Leetcode--142. 环形链表Ⅱ

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有…

他们提出了一个大胆的猜想:GWT(深度学习)→通用人工智能

来源:AI科技评论编译 :陈彩娴近日,有一篇发表在arXiv的论文“Deep Learning and the Global Workspace Theory”提出了一个大胆的猜想(或理论)。两位作者认为,当下的深度学习已经可以基于一个意识模型&…

科学史上那些盛极一时的“著名理论”是如何被攻破的?

《雅典学院》名画中的亚里士多德和柏拉图来源 :《自然》百年科学经典制版编辑: Morgan在科学发展的过程中,曾经涌现出不少盛极一时而后被证明是错误的理论。这些理论有的也许在今天看来悖谬荒诞,但是从整个科学发展的过程来看,它们仍然有其作…

AI在智能建筑中的应用和发展

来源:中研网图片来源:网络智能建筑诞生于二十世纪末,第一幢智能建筑于1984年在美国哈特福德 (Hartford)市建成。我国于90年代才起步,但迅猛发展势头令世人瞩目。目前,新技术、新产品在智能建筑中…

SpringBoot核心

1.基本配置 1.1入口类和SrpingBootApplication SpringBoot通常有一个名为*Application的入口类,入口类里有一个main方法,这个main方法就是一个标准的java应用的入口方法 。在main方法中使用SpringApplication.run,启动springboot项目。 其中EnablieAutoC…

grpc简单使用 java_gRPC学习记录(四)-官方Demo - Java 技术驿站-Java 技术驿站

了解proto3后,接下来看官方Demo作为训练,这里建议看一遍之后自己动手搭建出来,一方面巩固之前的知识,一方面是对整个流程更加熟悉.官方Demo地址: https://github.com/grpc/grpc-java例子是一个简单的路由映射的应用,它允许客户端获取路由特性的信息,生成…

冯端:漫谈物理学的过去、现在与未来

来源: 算法与数学之美撰文: 冯端 (南京大学物理系)“物理学的过去、现在和未来”是一个非常大而且重要的题目,也是一个非常难讲的题目,特别是涉及物理学的未来,结果往往是贻笑大方。这里以历史的透视为主线&#xff0c…

第四次博客

第四次博客 一、测试与正确性论证的比较 测试具有针对性,能从一些方面完美的展现出代码的正确性,但是它的验证度取决于样例的质量。 优点是方便,快捷,结果明显;缺点是可能不会覆盖到方方面面。 正确性论证能从所有的方…

院士论坛|李德仁:测绘遥感能为智能驾驶做什么? ——论测绘遥感与智能驾驶

来源: 中国测绘学会未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业…

Spring Boot-springbootHelloword(一)

什么是springboot sprng家族一个全新的框架 简化我们应用程序的创建和开发的过程,使用默认配置简化了我们以前传统的配置 springboot的特性 能够快速创建spring程序能够使用java main方法启动内嵌的 tomcat 或者jetty服务器运行spring boot程序提供约定的starter p…

原创工作发表难之叶公好龙

来源:张志东科学网博客链接地址:http://blog.sciencenet.cn/blog-2344-1265601.html 最近,科学网上一个热点话题是原创工作发表难不难?以真傻为代表的认为原创工作发表难,以王立新为代表的认为原创工作发表不难。那么&…

java字符的输入流_Java:字节流和字符流(输入流和输出流)

InputStream是抽象基类,所以它不可以创建对象,但它可以用来“接口化编程”,因为大部分子类的函数基类都有定义,所以利用基类来调用函数。FileInputStream是用来读文件数据的流,所以它需要一个文件对象用来实例化&#…

任正非内部重磅发言:华为不可能简单学阿里、亚马逊

来源:券商中国辞旧迎新之际,华为创始人任正非此前在华为企业业务及云业务汇报会上的发言于华为心声社区曝光。任正非指出,华为企业业务要聚焦战略重点,继续做减法,收缩企业业务做战线,认真弄清楚做作战模型…

java8 迭代set集合_JavaSE(八)集合之Set

2.2、HashSet特点不能保证元素的排列顺序,顺序可能和添加的顺序不同,顺序也有可能发生变化。HashSetf不是同步的,如果多个线程同时来访问一个 HashSet,假设有两个或者两个以上线程同时修改了HashSet 集合时,则必须通过…

AI 发展方向大争论:混合AI ?强化学习 ?将实际知识和常识整合到AI中 ?

一个仿人机器人的延伸手。机器人常常使用强化学习来加以训练来源:云头条作者:Ben Dickson是一名软件工程师,还是探讨技术在如何解决和带来问题的TechTalks博客的创始人。2010年代对于AI界来说意义重大,这归功于深度学习领域取得了…

吴恩达:2020 年,这些 AI 大事件让我无法忘怀...

作者:吴恩达编译:陈大鑫、贝爽编辑:青暮转自:AI科技评论日前,吴恩达在圣诞节之际回顾了2020年AI的一些重大事件,包括AI应对新冠疫情、数据集存在种族偏见、对抗虚假信息算法、AlphaFold预测蛋白质三维结构、…

java工程师的一生_百看不厌之一张图诠释程序员的一生

原标题:百看不厌之一张图诠释程序员的一生01百看不厌系列之一张图诠释程序员的一生。02变得越来越强了...03不知道是干什么的,但又不敢删。。。04当前端的人抱怨Java 时,C程序员05给产品经理设计了一款趁手的宝贝06离职程序员交接项目07这位压…