现需将Web项目打包成一个exe可执行文件的安装包,需要分别完成下面三步操作即可。
使用IDEA将项目转换为Jar包
通过exe4j工具将jar文件转换为’.exe’可执行文件
通过Inno Setup 生成 exe文件的 安装包
下面通过实际操作,详细的介绍一下这三个操作。其中包括Exe4j软件 和 Inno Setup 两个软件的使用介绍。
exe4j在生成exe可执行文件时,是通过将我们的jar文件转换成的exe文件。所以第一步我们需要将我们的web项目打包成jar文件。
在IDEA中将项目打包为jar文件,在项目中可能还会涉及到很多第三方的依赖(pom.xml文件中导入的)。但是maven的打包默认是不加载项目中使用到的第三方依赖的。但是在exe4j生成exe可执行文件时,是需要所以所用到的jar。
上述问题有两种方式进行解决,分别是:1. 添加POM代码,生成一份带依赖的jar包 2.在生成exe执行文件时手动进行添加所以依赖。下面分别演示一下不同jar生成方式:
在pom.xml文件中添加下面依赖代码,使我们package进行打包时,生成两个jar包
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-assembly-pluginartifactId>
<version>2.4.1version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependenciesdescriptorRef>
descriptorRefs>
<archive>
<manifest>
<mainClass>com.wxxssf.ApplicationmainClass>
manifest>
archive>
<appendAssemblyId>falseappendAssemblyId>
<descriptors>
<descriptor>src/main/resources/package.xmldescriptor>
descriptors>
configuration>
<executions>
<execution>
<id>make-assemblyid>
<phase>packagephase>
<goals>
<goal>singlegoal>
goals>
execution>
executions>
plugin>
plugins>
build>
更新maven之后,在通过maven进行打包即可。打包完成之后,会在target包中生成两个jar文件,一个是默认项目的jar,另一个是我们项目中使用到的第三方依赖打包成的jar。这两个jar包在后续的exe制作中会用到。
*注:通过这种方式进行打包的方式,我没有测试成功 0.0 (后续在学习学习看是什么原因导致的),被迫无奈采用了第二种手动添加的方式。如果项目采用的第三方依赖比较多,第二种方式就会很麻烦,应为在exe4j中导入依赖时只能手动的一个一个依赖的添加进入。
*注:这里如果选择第一种 extract to the target JAR 的方式,在后续的exe制作中会有查询不到主类的情况出现,所以我这里选择了第二种方式,至于为什么会这样,我也待去找原因。
项目打包完成之后,就可以在项目的目录结构中得到,打包好的jar文件以及外部jar和Manifest.mf文件
这些jar包在后续制作exe可执行文件时可以用到。
exe4j下载地址:https://www.ej-technologies.com/download/exe4j/files
下载过程很简单,就不演示了。下载完成之后就可以进行下面的操作:
1.打开exe4j,首页界面如下所示,可进行 Change License 的设置。注册码如下,随便选取一个即可。
L-g782dn2d-1f1yqxx1rv1sqd
A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50
A-XVK238729F-25yn13iea25i
A-XVK222711F-134h5ta8yxbm0
A-XVK275016F-15wjjcbn4tpj
A-XVK275016F-15wjjcbn4tpj
3.设置应用信息
这里选择的这个输出路径,就是后续生成的exe可执行文件生成后保存的位置,同时该文件夹作为我们exe执行文件的根目录。后续我们还需要添加 jre文件(java运行环境) 以及 lib项目外部资源jar、项目jar文件等项目运行需要的相关文件数据。
log日志文件夹的设置,其他没有展示的配置栏目,直接点击下一步即可
4.导入Jar文件操作
在第一步生成项目jar包的操作中:导入程序jar有两种方式进行导出jar包。如果你没有通过在pom文件中添加代码将项目中使用到的第三方依赖打包成的jar 的方式进行打包,那么我们进进入如下操作:
我们将方式二手动进行添加所以依赖时产生的主类jar文件 以及 lib中的第三方依赖jar 全部拷贝到我们的exe执行文件根目录中。然后进行下面的操作。这种导入方式很不方便,exe4j不支持多个jar同时导入,需要一个一个的导入我们的jar文件,所有需要花一点时间!!
如果你选择的是直接将我们项目中使用到的第三方依赖打包成的jar,那么可进行如下操作。同样我们需要将主程序jar包和我二门的第三方依赖jar包 复制到我们的exe根目录中。然后在将主程序jar和第三方引用jar进行导入。
5.java运行环境的配置
配置jre的版本
导入本地jre文件。这里导入本地的目的是为了保证exe能在其他电脑(无jre环境)上也能正常运行,首先我们需要将jre文件保存到我们exe文件的根目录(即exe的导出目录,同jar一样保存到根目录中)
之后的其他步骤就默认即可。执行完成之后。在我们的exe输出目录(exe根目录)中就会存在一个exe执行文件。
到此利用exe4j生成exe可执行文件就成功了。点击.exe文件即可运行我们的项目。接下来就是将我们的项目exe文件封装成一个安装包。
首先需要下载Inno Setup。 下载地址:https://jrsoftware.org/isinfo.php
安装过程很简单,就不做演示了。安装好Inno Setup 之后就进行exe文件的打包操作
设置完成之后就是NEXT–> Finish然后我们的脚本就会出现
在脚本文件中,我们还需要添加jre文件的信息
在头部信息中添加: define MyJreName “jre1.8.0_201”
在[Files]中添加下面信息:
Source: “[exe根目录]\jre1.8.0_201*”; DestDir: “{app}{#MyJreName}”; Flags: ignoreversion recursesubdirs createallsubdirs
点击运行之后就会生成项目的exe文件安装包!!!
【结束!!】
*至于项目中的 静态资源 和 配置文件这些怎样关联到安装包中的文件。暂时还未解决!!!