手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件
1、背景:
学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件。实在是心有不爽。此篇博客教你如何方便快捷地把java代码,打包成jar文件以及转换为exe可执行文件
2、前言:
我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同。其实将java程序打包成exe也需要这个可执行jar文件。
3、准备:
eclipse或Myeclipse以及exe4j(网上有软件和帐号下载)
4、具体步骤:
Step1:将java项目打包成可执行jar文件
首先看一下我的java project结构,Main.java是程序入口类,里面有main函数,config目录是些配置文件,lib是用到的第三方类库

开始打包,Simulate(Java项目)-鼠标右键-Export

弹出窗口,选择“JAR file”,点击“Next”

取消勾选“config”和“lib”目录,以及eclipse生成的项目配置文件“.classpath”和“.project”,点击“Next”

一切默认,点击“Next”

在弹出窗口中,选择我们自己创建的MANIFEST.MF文件,点击“Finish”

我的MANIFEST.MF文件内容为:
Manifest-Version: 1.0
Main-Class: bing.Main
Class-Path: . lib/ojdbc14.jar lib/poi-2.5.1.jar lib/jbcl.jar lib/JTattoo.jar lib/liquidlnf.jar
Created-By: Kun Sun
通过指定“Main-Class”来达到可执行jar文件的目的。其实我们最终是将项目打包成exe,Class-Path可以不指定,在打包exe的时候还要指定classpath的。
Step2:将项目打包成exe
这里要明确一点,并不是把所有的文件都打包成一个exe,资源文件是不能包进去的,往下看↓
首先,在任意目录创建一个文件夹,最好命名和项目名相同,我在F盘创建了一个“Simulate”文件夹,之后将所有的资源文件以及我们生成的可执行jar文件(我的Simulate.jar)都拷贝到这个文件夹里,config目录和lib目录,如果你怕执行该程序的机器上没安装jre,那么你需要将自己机器上的jre目录也拷贝进来,我安装的jre5,最后的目录结构:

打开exe4j,跳过欢迎,直接点击左侧导航的第二项,因为我们已经提前将java项目打包成可执行jar文件了

在弹出窗口,选择“JAR in EXE mode”,点击“Next”

在新窗口中,为我们的应用取个名称,之后选择exe生成目录(我的F:\Simulate),点击“Next”

为我们要生成的exe取名,如果想生成自定义图标,那么选择你的ico文件,如果你不想在一台电脑上运行多个你的程序,你可以勾选“Allow only a single...”,点击“Next”

点击绿色“+”,设置程序运行的Class Path

先选择我们自己的可执行jar文件(我的Simulate.jar),点击OK

我们的Simulate.jar就加到Class Path下了

之后点击General中的Main Class选择按钮,在弹出窗口中,exe4j会自动搜索当前Class Path下的全部jar中包含main方法的类,并列出,因为当前我只选择了自己项目的jar,而我的项目中只有Main.jar包含了main方法,所以一目了然,直接选择它点击“OK”,程序入口类就设置完成了

Main Class设置完成后,依次将所有需要的第三方类库加到Class Path下,方法同添加“Simulate.jar”一样,点击“Next”

输入Java最小Jre版本号,即低于这个版本的Jre无法运行该程序,接着点击“Advanced Options”-“Search sequence”,设置一下我们的JRE,之前说过,如果客户机上没装Jre咋办?,没关系我们捆绑一个进去

点击绿色“+”来选择捆绑的JRE位置

在弹出对话框中选择“Directiony”,之后选择JRE的文件夹,注意:这个JRE目录是我们将本机的JRE目录拷贝到当前exe生成目录下的,我的目录是F:\Simulate\jre5,下图程序使用的是相对目录,点击OK,完成JRE的捆绑操作

JRE捆绑完毕,点击“Next”

默认,点击“Next”

默认,点击“Next”

默认,点击“Next”

exe生成中

OK,完成,点击“Exit”即可

看看成果如何吧!

我们的可执行jar以及第三方jar总共还不到5M,可jre5目录就50多M,如果目标机器上有JRE环境就可以把它删掉了,lib目录是第三方jar文件,现已打包到exe中了,所以它也没有存在的理由了,那么最小配置就剩下了“Simulate.exe”和“config”目录了!
5、备注
上述步骤基本上是自己已经尝试过的步骤,其中有些步骤可以省略,比如说Step1中从java代码转换为jar的过程中可以不写配置文件(MANIFEST.MF文件),系统会自动给出,是不是很方便,
。再比如Step2中的绑定jre,可以不绑定。至于其余可以更优化及方便地步骤,读者可以自己摸索尝试。
分享到:
相关推荐
在使用QT创建应用程序时,我们通常会在Qt Creator这个集成开发环境中编写代码,然后编译生成可执行文件(exe)。然而,生成的exe文件并不能在所有计算机上直接运行,因为它依赖于许多Qt库的动态链接库(dll)文件。 ...
在这里,你可以设置发布目标、输出路径、部署模式(点击“配置管理器”可选择不同的构建配置,如Debug或Release)以及自定义安装参数。 4. 配置安装程序:在发布设置中,可以选择“创建安装程序”选项。这将使用...
手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F...
本文将手把手教您如何给程序打包,包括安装文件制作和卸载模块的添加。通过一步步的指导,您将学会使用 C# 打包应用程序,并生成带有卸载功能的安装程序。 1. 安装部署项目的创建 首先,打开 Visual Studio,点击...
最近工作需要将java程序打包发布,并且能安装成windows服务,而且需要在没有安装jre的机器上运行。研究了一下java service wrapper,在网上找了相关的资料,但是都说得不是很详细,照着做有一定难度。所以我分步总结...
Install4j是Java程序的打包工具,能够将Java程序打包成exe文件,方便用户使用。下面将手把手指导install4j的使用方法,涵盖从开始到打包成功的全过程,以及期间需要注意的点。 一、准备工作 在使用install4j之前,...
在"手把手教你开发java手机程序"的教程中,你将逐步学习这些概念,并通过实际项目练习来提升技能。通过实践,你将学会如何创建一个完整的Android应用,从设计用户界面到实现功能,再到发布应用。记住,不断练习和...
【标题】"手把手教你学DSPPDF"是一份针对数字信号处理(DSP)初学者的教程性PDF文档,旨在引领读者逐步掌握这一领域的基础知识。该文档可能包含了从理论概念到实际应用的全面讲解,适合那些希望踏入数字信号处理世界...
《手把手教你学DSP2812》是一本专为初学者设计的 DSP(Digital Signal Processor)学习指南,主要围绕TI公司的TMS320F2812 DSP芯片进行讲解。这本书以其全面且易懂的特性,为读者提供了一个深入理解数字信号处理及其...
手把手教你学DSP28335高清pdf文件,北京航空航天大学出版社
标题中的“手把手教你用C#打包生成.doc”和描述中的“C#程序打包”指的是使用C#语言来创建一个应用程序的安装包,以便用户能够方便地安装和卸载该程序。这一过程涉及到Visual Studio(VS)的安装部署项目功能。 在...
3. **加载器(Loader)**:它们用于转换不同类型的模块,例如,将`.js`文件转换为浏览器可以识别的格式,或者将`.css`文件导入JavaScript中。在本示例中,可能包含了`babel-loader`(用于将ES6+代码转换为ES5)和`...
手把手教你学28335PDF文档,看了这个确实和2812有了对比
本文将详细讲解红头文件的制作技巧,包括软件选择、版式设置、以及红头文本框的创建等,旨在帮助读者掌握制作规范红头文件的基本方法。 首先,选择合适的文档处理软件至关重要。由于公文的规范性对格式要求极高,...
Java案例150例+手把手带你敲代码+适合自学者及初学者,本书例题典型、结构合理、思路清晰。即可作为院校相关专业及Java培训班的教材,也可以作为具有一定java编程基础知识的自学者的参考用书,同时还可以作为从事...
4. **转换证书**:使用`cert2spc.exe`将CER文件转换为SPC文件。 5. **编写INF文件**:INF文件定义了CAB文件的结构,包括OCX控件和其他文件的详细信息,以及注册信息。 6. **打包CAB**:使用`cabarc.exe`根据INF文件...
本教程的“手把手教你汉化程序.exe”文件很可能是动画教程的执行程序,用户可以通过运行这个程序来观看动画演示,学习每个步骤的具体操作。动画形式的教学方式有助于减少文字理解的难度,使学习过程更加直观和易懂。...
《手把手教你学单片机》是一本深受学习者欢迎的单片机入门教程,它以浅显易懂的方式引导初学者踏入单片机的世界。这本书的配套源代码提供了丰富的实例,帮助读者理论联系实际,加深对单片机编程的理解。下面我们将...
【JavaScript源代码】手把手教你如何编译打包video.js 在JavaScript开发中,有时我们需要对第三方库进行编译和打包,以适应项目需求或优化性能。video.js 是一个流行的开源JavaScript库,专用于处理HTML5视频播放。...