java应用程序从打包jar到编译安装图解
- 格式:pdf
- 大小:1.82 MB
- 文档页数:23
利⽤jar命令打包和解压 常常在⽹上看到有⼈询问:如何把 java 程序编译成 .exe ⽂件。
通常回答只有两种,⼀种是制作⼀个可执⾏的 JAR ⽂件包,然后就可以像.chm ⽂档⼀样双击运⾏了;⽽另⼀种是使⽤ JET 来进⾏ 编译。
但是 JET 是要⽤钱买的,⽽且据说 JET 也不是能把所有的 Java 程序都编译成执⾏⽂件,性能也要打些折扣。
所以,使⽤制作可执⾏ JAR ⽂件包的⽅法就是最佳选择了,何况它还能保持Java 的跨平台特性。
下⾯就来看看什么是 JAR ⽂件包吧:1. JAR ⽂件包JAR ⽂件就是 Java Archive File,顾名思意,它的应⽤是与 Java 息息相关的,是 Java 的⼀种⽂档格式。
JAR ⽂件⾮常类似 ZIP ⽂件--准确的说,它就是 ZIP ⽂件,所以叫它⽂件包。
JAR ⽂件与 ZIP ⽂件唯⼀的区别就是在 JAR ⽂件的内容中,包含了⼀个 META-INF/MANIFEST.MF ⽂件,这个⽂件是在⽣成 JAR ⽂件的时候⾃动创建的。
举个例⼦,如果我们具有如下⽬录结构的⼀些⽂件:==`-- test `-- Test.class把它压缩成 ZIP ⽂件 test.zip,则这个 ZIP ⽂件的内部⽬录结构为:test.zip`-- test `-- Test.class如果我们使⽤ JDK 的 jar 命令把它打成 JAR ⽂件包 test.jar,则这个 JAR ⽂件的内部⽬录结构为:test.jar|-- META-INF| `-- MANIFEST.MF`-- test`--Test.class2. 创建可执⾏的 JAR ⽂件包制作⼀个可执⾏的 JAR ⽂件包来发布你的程序是 JAR ⽂件包最典型的⽤法。
Java 程序是由若⼲个 .class ⽂件组成的。
这些 .class ⽂件必须根据它们所属的包不同⽽分级分⽬录存放;运⾏前需要把所有⽤到的包的根⽬录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运⾏时还要到控制台下去使⽤ java 命令来运⾏,如果需要直接双击运⾏必须写 Windows 的批处理⽂件 (.bat) 或者 Linux 的 Shell 程序。
java打jar包的⼏种⽅式详解⼀、制作只含有字节码⽂件的jar包我们先来看只含有字节码⽂件,即只含有class⽂件的jar包怎么制作,这是最简单的形式1、最简单的jar包——直接输出hello最终⽣成的jar包结构META-INFHello.class⽅法步骤(1)⽤记事本写⼀个Hello.java的⽂件class Hello{public static void main(String[] agrs){System.out.println("hello");}}(2)⽤命令⾏进⼊到该⽬录下,编译这个⽂件 javac Hello.java(3)将编译后的Hello.class⽂件打成jar包 jar -cvf hello.jar Hello.class c表⽰要创建⼀个新的jar包,v表⽰创建的过程中在控制台输出创建过程的⼀些信息,f表⽰给⽣成的jar包命名(4)运⾏jar包 java -jar hello.jar 这时会报如下错误 hello.jar中没有主清单属性 添加Main-Class属性 ⽤压缩软件打开hello.jar,会发现⾥⾯多了⼀个META-INF⽂件夹,⾥⾯有⼀个MENIFEST.MF的⽂件,⽤记事本打开Manifest-Version: 1.0Created-By: 1.8.0_121 (Oracle Corporation) 在第三⾏的位置写⼊ Main-Class: Hello (注意冒号后⾯有⼀个空格,整个⽂件最后有⼀⾏空⾏),保存 再次运⾏ java -jar hello.jar ,此时成功在控制台看到 hello ,成功2、含有两个类的jar包——通过调⽤输出hello最终⽣成的jar包结构META-INFTom.classHello.class⽅法步骤(1)⽤记事本写⼀个Hello.java和⼀个Tom.java的⽂件 ⽬的是让Hello调⽤Tom的speak⽅法class Hello{public static void main(String[] agrs){Tom.speak();}}class Tom{public static void speak(){System.out.println("hello");}}(2)编译: javac Hello.java 此时Hello.java和Tom.java同时被编译,因为Hello中调⽤了Tom,在编译Hello的过程中发现还需要编译Tom(3)打jar包,这次我们换⼀种⽅式直接定义Main-Class。
Java打包成jar文件,以及将jar文件导出为exe文件方法汇总(图形说明)一、Java打包成jar文件方法一:用Eclipse导出jar文件注:我用的是Eclipse,但是MyEclipse也大同小异首先右键点击所要打包的工程,选择Export选项选择JAR file,点击Next在要打包的工程前打钩,如上图红色所示;选择导出文件的目的地址,如图蓝色所示,包名随意,没有特定的要求;点击Next点击Browse选择到主类所在的上一个文件夹,别忘了填写File name(随意起名即可),点击OK;点击第四幅图的下面的Browse按钮,选择主类的名字,如下图所示点击OK,即可完成打包。
运行jar文件,可将jar文件与一个批处理文件放到一个文件夹中;其中批处理文件的内容为:java -jar neme.jar(其中name为jar包的名字)批处理文件格式为.bat;双击批处理文件即可运行程序。
PS:将java工程文件打包成.exe文件我用的是一个exe4j的免费软件第一步:默认即可,直接点击Next第二步:如果有已经制作好的jar文件,选择“JAR in EXE”mode,然后点击Next第三步:红色划线框内填写工程名字,随意即可;蓝色划线框内填写打包后的exe文件输出目录第四步:如果需要导出为exe文件的是图形界面,则选择GUI application;如果要导出为exe文件的是控制台的,则选择console application;Executable name写你将要生成的exe文件的名字,Icon File可以选择生成文件的图标第五步:点击绿色的加号,出现如下所示对话框,选择archive,然后选择已经打包好的jar文件选择主类完成后如图所示第六步:最小版本填1.3,最大版本填1.6;如果只需导出的exe在装有JRE的机子上可以运行,那么一路Next下去,最后点击Finish即可;如果想要在没有装JRE的机器上运行,那么需要继续,点击Advanced Options,选择searchsequence选择Directory,点击浏览按钮,选择JRE所在的根目录,将JRE复制过来,如下图所示选择Preferred VM,选择Client hotspot VM第7、8步是一些基本配置,默认即可,第9步编译,第10步你就可以看到以下效果了好了,大功告成了~方法二:用命令生成jar文件首先编写一个清单文件,名为:MANIFEST.MFT,其代码如下:Manifest-Version: 1.0//该属性是创建可执行jar包必需的,指定的Main-Class为全路径类名(且该类必需有main方法)Main-Class:填写你的主类Created-By: 1.5.0_02 (Sun Microsystems Inc.)然后,使用如下命令生成jar文件:jar cfm 填写你要生成jar的名字.jar MANIFEST.MFT *.class其中,c表示要生成一个新的jar文件;f表示生成jar的名字;m表示清单文件的名字二、ar文件导出为可执行文件,即exe文件方法一:用j2ewiz,使用方法如下:操作步骤:1、双击j2ewiz.exe,出现软件注册窗口,点击下一步。
命令行下编译java并生成jar包jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布。
为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,是的,就是java 存档文件。
这有点类似zip文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新组织,所有这些目的只有一个:方便!好了,不用管他是怎么压缩的,我们的重点是哪些是我们要压缩的(输入),还有压缩成了什么(输出),进而将它发布(部署)。
那我们的输入(要压缩的东西)主要是class文件,还有辅助的资源(这其中可能有图片,jsp文件,html文件等等)。
Jar技术在jdk1.1版本中就已存在,在1.2中又有了增强。
接下来说说jar的好处吧,这是官方的描述:安全,快速下载,压缩,猎取包,版本化包,可携。
说了这么多,我们现在开始实施。
先打开命令提示符(win2000或在运行筐里执行cmd命令,win98为DOS提示符),输入jar –help,然后回车(如果你盘上已经有了jdk1.1或以上版本),看到什么:用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名…选项:-c 创建新的存档-t 列出存档内容的列表-x 展开存档中的命名的(或所有的〕文件-u 更新已存在的存档-v 生成详细输出到标准输出上-f 指定存档文件名-m 包含来自标明文件的标明信息-0 只存储方式;未用ZIP压缩格式-M 不产生所有项的清单(manifest〕文件-i 为指定的jar文件产生索引信息-C 改变到指定的目录,并且包含下列文件:如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按‘m‘ 和‗f‘标志指定的相同顺序。
示例1:将两个class文件存档到一个名为‗classes.jar‘ 的存档文件中:jar cvf classes.jar Foo.class Bar.class示例2:用一个存在的清单(manifest)文件‗mymanifest‘ 将foo/ 目录下的所有文件存档到一个名为‗classes.jar‘ 的存档文件中:jar cvfm classes.jar mymanifest -C foo/ .来个小例子试试看:我们只有一个HelloWorld,如下:public class HelloWorld{public static void main(String[] args){System.out.println(―Hi, Hello World!‖);}}我将这个java文件存到C盘跟目录下,ok,接下来,在先前打开的命令提示符下(跳转到C盘提示符下),我们输入javac HelloWorld.java,然后继续输入:jar cvf hello.jar HelloWorld.class,回车后去你的C盘看看,多了什么,没错hello.jar 。
先用exe4j(此处用的是4.4.4版本)将jar打包成exe可执行文件,之后用Inno Setup(此处是5.5版本)将exe文件及jre打包成可安装文件,使其可在没有java环境的机器上运行1、先将所用到的系统资源放到一个资源文件夹中,如数据库、图片、声音文件、jre等等2、将系统制作成jar包,用fatjar打包工具将系统打包,选择导出路径,选择改程序的Main 方法(如图一红框),点击next选择要导出的资源,之后到finish完成打包,将打出的jar包放到资源文件夹中(便于其后打包成可安装文件)图一3、运行exe4j软件,点击next到下一步,选择第一项Regular mod,后点击next进行下一步(如图二),上面输入工程名,可随意写,下面选择打包后的exe文件的输出路径,完成后点击next进行下一步图二4、如图三,先选择执行方式,默认是图形方式GUI application,Executable name写打包后的exe文件名称,Icon File 选择生成文件的ico图示,后面三个根据需要选择,完成后点击next进行下一步图三5、点击右边的“+”号,在弹出框中选择Archive,并选择先前导出的jar包(如图五),选中后点击OK即可,之后选择改程序的主方法,(如图六),完成后点击next进入第6步图五图六6、填入最低jre版本,最高版本可不填,选择Advanced Options 下的Search sequence选择jre,由于我们要在没有安装jre的机器上运行,故需要将jdk环境动态打包到系统中,如图七,将列表中所有项目移除,然后点击右边的“+”选择刚才在资源文件夹中放置的jre文件夹,如图八,点击OK选择,之后的效果如图九所示,点击next进入图七图八图九再从图中单击advanced options,并选择preferred VM,选择Client Hotspot VM(如图十),之后点击next进入第7步图十7、配置Splash screen ,如果不需要则选择No splash screen 即可,之后一直点击next至finish,如果出现如图十一的界面,则说明已经导出exe文件现在已经完成了exe文件的打包,此程序可在本机上直接运行,但如果想让其在没有jdk 环境的机器上运行,那么还需要利用Inno Setup 将exe文件及jre打包,下面进行这个步骤,此处用的是Inno Setup5.51、运行Inno Setup 编译器,选择脚本向导点确定进入如下界面2、点击下一步进入如下界面,输入个项信息后点击下一步3、维护下图中各项内容后点击下一步4、首先选择程序执行文件,即上面用exe4j导出的exe文件,然后点击添加文件夹,选择我们做好的资源文件夹,务必将所有需要的东西都放进去,完成后显示下图所示界面,然后点击下一步5、根据自己的需要,选择对应的项目,如下图所示,完成后继续点击下一步6、应用程序文档及安装语言的设置在此处就不作介绍了,直接进入编译设置,如下图,将个个信息维护完毕后连续点击下一步直至完成7、系统会出现如下图所示的界面,选择是进行脚本编译8、在编译完成后即可得到一个可安装文件,其后不必说了,直接安装使用。
昨天我急需要安装fatjar包,但是百度了好多安装的方法都不能实现,其中包括15分钟学会MyEclipse导出jar文件再装换成exe可执行文件,主要原因是我的是MyEclipse8.5版,而他们说的根本就不是8.5版本的。
现在终于知道了如何安装MyEclipse8.5版的Fatjar包了。
现在共享给大家:
Myeclipse8.5本身有一个打包的工具,但是不能将别的jar文件也一起打包进来. fat-jar能够很好的解决上述问题。
fat-jar它是下的一个开源工具从/projects/fjep地址可以下载该工具,下载完成后是一个zip压缩包,解压后将plugins文件夹下的net.sf.fjep.fatjar_0.0.27文件夹拷贝到Myeclipse8.5或者8.x的目录下的dropins文件夹下(例如,我用的是Myeclipse8.5,即在C:\Users\Administrator\AppData\Local\Genuitec\MyEclipse 8.5\dropins),然后直接启动myeclipse 右击项目,会发现该项目中已经集成了该插件在启动后右击工程就可以看到 Build Fat jar的选项安装成功或者,点击Windows 选项栏的Preferences选项,可以看到Fat Jar Preferences选项表示安装成功。
利用Fatjar打包操作如下:
1、在你的工程项目里右键弹出下图
2、然后Buile Fat Jar出现下图:
Next
Finish 搞定了。
在idea中将java项⽬中的单个类打包成jar包操作JAR⽂件的全称是Java Archive File,即Java档案⽂件。
JAR⽂件是⼀种压缩⽂件,与常见的ZIP压缩⽂件兼容,被称为JAR包。
JAR⽂件与zip⽂件的主要区别是在JAR⽂件中默认包含了⼀个名为META-INF/MANIFEST.MF的清单⽂件,这个清单⽂件是在⽣成JAR⽂件时系统⾃动创建的。
打包jar包1.先创建⼀个要打包成jar包的类2.File -> Project Structrue -> Artifacts -> + -> JAR -> from modules with dependencies…3.再Main Class中选择要打包的类project -> 选择打包的类 -> 然后OKproject -> 点击OK后,会弹出错误提⽰框,关闭该提⽰框,并关闭类选择框点击OK4.Apply -> OK5.Build -> Build Artifacts6.点击Build后就会再之前选择的jar存放⽬录中⽣成jar包导⼊jar包使⽤1.File -> Project Structrue -> Modules ->Dependencies -> + -> jARs or directories…2.在jar包的存放⽬录中找到jar包,然后点击OK3.选择jar包 -> Apply -> OK4.然后就可以在External Libraries中看到导⼊的jar包5.将之前的MyJar类删除掉,然后新建⼀个测试类Test,测试⼀下jar包是否可以,这⾥可以正常使⽤补充知识:idea打包Jar(纯java项⽬可执⾏主类)1、⽤maven-shade-plugin打包我们这⾥利⽤maven中的maven-shade-plugin插件。
java -jar编译Java是一种广泛应用于开发各种应用程序的编程语言,它具有跨平台性和面向对象的特性。
编译是将源代码转换为可执行代码的过程,而Java的编译工具是java -jar命令。
本文将围绕这个命令展开,介绍它的用法、作用以及一些注意事项。
我们来了解一下java -jar命令的基本用法。
在命令行中输入java -jar,后面跟着的是一个可执行的jar文件的路径。
这样,Java虚拟机就会加载并运行这个jar文件中的主类。
通过这个命令,我们可以方便地运行打包好的Java应用程序。
那么,为什么要使用java -jar命令来编译Java程序呢?这是因为在Java中,源代码需要通过编译器将其转换为字节码文件(.class 文件),然后再由Java虚拟机执行。
而对于已经打包成jar文件的Java应用程序,我们可以直接使用java -jar命令来运行,无需再进行编译过程,这样可以简化应用程序的部署和运行。
在使用java -jar命令编译Java程序时,有一些需要注意的地方。
首先,需要确保系统已经安装了Java运行时环境(JRE),否则无法运行Java应用程序。
其次,需要保证jar文件中包含了一个可执行的主类,并且在MANIFEST.MF文件中指定了这个主类。
另外,如果jar文件中依赖了其他的jar文件,需要将这些依赖的jar文件一同放入classpath中,否则会导致运行时错误。
除了使用java -jar命令来运行Java应用程序,我们还可以使用它来执行其他操作。
例如,可以使用java -jar命令来解压缩jar文件,查看其中的内容。
可以使用java -jar命令来创建可执行的jar文件,将多个类文件打包成一个jar文件,方便部署和传播。
此外,还可以使用java -jar命令来签名jar文件,确保其来源可靠性。
在实际应用中,我们可以结合其他命令和工具来使用java -jar命令,以实现更复杂的功能。
【Java基础】Jar包结构结构分析和操作具体解释作者:郭嘉邮箱:allenwells@博客:github:⼀ JAR包结构分析JAR(Java Archive FIle)Java归档⽂件,是Java标准的⽂档格式,是⼀个或多个Java字节码⽂件的打包压缩⽂件。
採⽤常见的ZIP压缩算法,和ZIP⽂件⼗分相似,能够直接解压。
JAR⽂件主要⽤来压缩和公布字节码⽂件,并且还⽤于部署和封装库、组件和插件程序。
并且能够被像编辑器和JVM这种⼯具直接使⽤。
1.1 JAR包结构JAR包的结构例如以下图所看到的:1.2 MANIFEST.MF属性从上图能够看出,JAR包⽐普通zip⽂件多了⼀个META-INF⽂件夹,该⽂件夹下包括了⼀个MANFEST.MF⽂件。
1.2.1 ⼀般属性1. Manifest-Version⽤来定义manifest⽂件的版本号,⽐如:Manifest-Version: 1.02. Created-By声明该⽂件的⽣成者,⼀般该属性是由jar命令⾏⼯具⽣成的。
⽐如:Created-By: Apache Ant 1.5.13. Signature-Version定义jar⽂件的签名版本号4. Class-Path应⽤程序或者类装载器使⽤该值来构建内部的类搜索路径1.2.2 应⽤程序相关属性1. Main-Class定义jar⽂件的⼊⼝类。
该类必须是⼀个可运⾏的类,⼀旦定义了该属性就可以通过 java -jar x.jar来运⾏该jar⽂件。
1.2.3 ⼩程序(Applet)相关属性1. Extendsion-List该属性指定了⼩程序须要的扩展信息列表。
列表中的每⼀个名字相应以下的属性2. -Extension-Name3. -Specification-Version4. -Implementation-Version5. -Implementation-Vendor-Id6. -Implementation-URL1.2.4 扩展标识属性1. Extension-Name该属性定义了jar⽂件的标识,⽐如Extension-Name: Struts Framework。
用exe4j把java的jar文件打包成exe执行文件发布本文首先默认你已经拥有可用的jar文件和exe4j程序。
下面开始详述步骤:1.welcome-打开exe4j如图,如果你有保存过的项目打包配置文件,那么点>>open打开即可。
如果没有点>>next.2.Project type-选择打包方式由于我们讲的是打包jar生成exe,所以选“jar in exe”mode,这种方式可以把一个java应用程序打包成一个exe文件,但是不能将除jar以外的附加文件打包进去。
然后>>next3. Application info-配置生成的应用程序的信息设置你的应用程序的名称和将要生成的可执行文件的输出文件夹。
然后>>next.4.Executable info -配置可执行文件的参数type项根据你的程序的类型确定,本例为GUI程序;接下来是文件名、可执行文件的图标、是否只允许同时刻只能运行一个应用程序、当主线程有误时是否抛出异常、更改工作目录(相对于可执行文件)。
然后点>>advanced options>>version info5.version info-设置版本信息6.java invocation-配置运行环境先配置class path,将此项内原有的配置全部删除,然后点“+”找到你生成的jar文件,然后在上边的general中点浏览按钮,exe4j会自动找到你应用程序的入口-main class。
在下边的advanced options中选native libraries设置,此功能是添加你程序用到的外部jar包文件,这个我一直没用过,因为我做什么事都喜欢集中,所以在程序中用到的所有外部包全整合到jdk/jre里了,这样在给客户安装程序时只要把程序直接给他考过去就可以用了,不用再安装其它东西,他们会很喜欢的哦,毕竟用户不是搞程序设计的嘛。
J ava应用程序从打包jar到编译安装图解
by hzau.RG(gaowenhui2009@)
一.工具集
E clipse,fat-jar,exe4j,Inno Setup
Eclipse不用介绍了啊。
fat-jar是一个插件,java程序打包成jar的一个图形界面工具,可以安装在eclipse里。
exe4j一个将一些文件打包成exe可执行文件的工具,这里利用他将fat-jar生成的jar包打包成exe文件。
Inno Setup是一个制作简单安装程序的工具,可以将exe4j生成的exe文件加上exe文件运行所需的其他资源一起进行编译,生成安装程序。
图0exe4j和Inno Setup
二.Fat jar的获取与安装
相信好多对eclipse有一定了解的人,都会安装插件,在线自动安装或手动安装。
这里给出一些图片,更加详细的介绍如何安装。
图一
在help中选择install new software
再在work with中输入fat jar的在线下载网址。
http://kurucz-grafika.de/fatjar,添加后会有一些提示,完成后,name下面的文本框中会显示pending.....,耐心等会就会显示,如下图片:
图二
安装过程中会有一些询问,ok即可,完成后会重启,可以在windows->preferences下简单的设置fat jar的一些属性。
如图三
图三
下面以我自己的一个应用程序为实例,演示一下整个过程。
首先介绍下我的这个程序,是利用百度音乐API及其它网上开源jar包实现在线歌曲的搜索下载和播放。
图四-应用程序目录结构体
Configure和res为一些配置文件xml,icon为图片图标文件,lib为第三方开源jar包,log为存放程序运行日志,MusicFolder为音乐文件存放文件夹。
我自己的package目录也在上面显示的很清楚。
图五build path
图五为将第三方jar包加入libraries,这样fat jar在运行时才会自动加入第三方jar包。
Fat jar打包具体操作:
1.在eclipse的应用程序项目那单击右键选择Export,再选择other->fat jar exporter,如下图。
图六Export1
2.选择要打包的项目
我的实例即为Music,
图七Export2
3.再点击Next选择main class,其中的class path暂时不用填,fat jar会根据build path自选
图八Export3
4.显示fat jar打包后应该包含的文件,主要是自己的class和第三方的jar包。
图九Export4
5.输出
图10Export5
6.结果显示。
图11Export6
7.运行测试
要把cmd的当前位置设为项目目录位置,我的实例为D:\java\Music,不然是,运行不出来的,因为jar运行找不到自己需求的其他资源文件(因为程序中都是使用相对路径寻找资源文件的)。
如下图的cmd窗口显示。
图12运行1
至此,利用fat jar打包就结束了,其实很简单,相对如命令行的jar来说,GUI的fat jar更加方便。
三.exe4j的具体使用
正如上面介绍的一样,exe4j,可以将jar打包成exe可执行文件,即在项目目录
(D\java\Music\)下,双击生成的exe文件就可以运行了,相当于一般安装程序安装后安装目录里面的东西。
只是没有想安装程序写入注册表罢了。
下面具体介绍下exe4j的使用:
1.打开
图13exe4j1
第一次使用时,没有它生成的编译文件,所以就直接选择Next即可。
2.选择模式。
Next
图14exe4j2
这里选择jar in exe mode。
3.一些简单的设置,应用程序名称,输出路径等。
Next
图15exe4j3 4.设置可执行类型,程序名称,图标等。
Next
图16exe4j4
5.选择class path,选择添加按钮,添加fat jar生成的Music_fat.jar,这里不用再去选择lib里面的第三方jar包了,因为它们已经被包含在Music_fat.jar里面了。
Next
图17exe4j5
6.选择主类,它会将jar包里面的所以主类列举出来,这里我选择自己程序的MainFrame
7.next后的结果,vm参数如果有的话设置,没有的话,就next即可。
图19exe4j7
8.选择jvm版本问题,如图设置,next。
9.选择程序打开时闪烁的屏幕,有点像eclipse刚打开时的加载画面。
它的一些属性可以在advanced options里具体设置。
图21exe4j9
这里我选择了自己ps制作的图片。
图22bg.png
10.显示配置信息。
图23exe4j10
11.next后编译成功的界面,这时如果exe文件输出路径不在项目下,点击运行是不成功的
12.将输出exe文件复制至项目目录下。
双击即可运行。
图25exe4j12 13.运行效果图
至此,exe4j的具体使用,介绍完毕。
四.Inno Setup的具体使用
这个软件其实就是把exe文件和它需要的资源文件整合在一起,好安装。
1.打开,选择脚本向导,这个简单些。
好弄。
图27inno1
2.下一步
3设置安装程序的相关信息
图29inno3 4.简单设置
图30inno4 5.这里要特别注意。
先讨论错误的做法:如下图
图30inno5
如果我们将程序所需的资源文件夹一个个选择,并包含子文件夹中的文件,照这样做,最后安装时,它会把例如icon文件夹中的文件都弄出来,显示在安装目录同一级,即安装目录中没有icon这个文件夹了,而程序中使用图标都是以“./icon/xxx..png“这种方式,而现在有没有icon文件夹,所以文件必然找不到,所以运行不了。
正确做法:在项目(或者其他位置)下建立一个文件夹,将项目所需的一些资源文件按照项目里面的目录结构复制到刚建的文件夹里。
图31inno6
新建resFolder,包含configur,icon,res等文件夹。
再选择添加该文件夹。
6.一些设置
图32inno7 7.选择安装语言
图33inno8
8.选择输出文件夹和文件名及图标
图34inno9 9.默认
图35inno10 10.默认
图36inno11 11.编译
图37inno12 12.选择编译文件存储路径
图38inno13
13.编译过程
图39inno14
五.安装与展示
1.生成setup.exe后,它就把整个项目都包含进去了,这里简单介绍下生成setup.exe后该
怎么做。
一般是将setup.exe和一些readme.txt等打包压缩。
因为是用java写的,所以要涉及到jre的问题:
如果电脑上有jre,则可只有setup.exe即可,如果没有则需先安装jre环境,再安装setup.exe。
如下:
图40若下载用户电脑上没有jre,则可以把jre安装程序包含在压缩包里
图41若下载用户电脑上已经有jre,则不需要jre安装程序
图42最后就打包,形成了两种压缩包供用户下载
安装过程像一般的安装程序一样,在这个过程中你会看到自己的之前的一些设置。
2.运行展示:
安装成功后,就可以双击运行了。
例如我的GoGoMusic。
图43运行图片
六.总结
最后,对着整个过程进行下总结,其实认真想起了很简单的。
主要要明白流程。
1.1.J J ar打包工具将bin下各包的class以及第三方jar一起打包进
jar文件
2.再利用exe4j(或其他类似工具)将上一步生成的jar文件(此
阶段只有它,而不包含资源文件)打包成exe文件
3.再利用Inno Setup(或其他类似工具)将上一步生成的exe文件
和所有的资源文件进行简单的设置再一起编译到一个安装文件里去即setup.exe
4.最后根据是否安装jre进行不同的配置。