SpringBoot项目制作exe执行文件与安装包

SpringBoot项目制作exe执行文件与安装包

​ 现需将Web项目打包成一个exe可执行文件的安装包,需要分别完成下面三步操作即可。

  • 使用IDEA将项目转换为Jar包

  • 通过exe4j工具将jar文件转换为’.exe’可执行文件

  • 通过Inno Setup 生成 exe文件的 安装包

    下面通过实际操作,详细的介绍一下这三个操作。其中包括Exe4j软件 和 Inno Setup 两个软件的使用介绍。

1、Web项目打包Jar包

​ exe4j在生成exe可执行文件时,是通过将我们的jar文件转换成的exe文件。所以第一步我们需要将我们的web项目打包成jar文件。

​ 在IDEA中将项目打包为jar文件,在项目中可能还会涉及到很多第三方的依赖(pom.xml文件中导入的)。但是maven的打包默认是不加载项目中使用到的第三方依赖的。但是在exe4j生成exe可执行文件时,是需要所以所用到的jar。

​ 上述问题有两种方式进行解决,分别是:1. 添加POM代码,生成一份带依赖的jar包 2.在生成exe执行文件时手动进行添加所以依赖。下面分别演示一下不同jar生成方式:

1.1.添加pom代码生成额外依赖的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制作中会用到。

SpringBoot项目制作exe执行文件与安装包_第1张图片

​ *注:通过这种方式进行打包的方式,我没有测试成功 0.0 (后续在学习学习看是什么原因导致的),被迫无奈采用了第二种手动添加的方式。如果项目采用的第三方依赖比较多,第二种方式就会很麻烦,应为在exe4j中导入依赖时只能手动的一个一个依赖的添加进入。

1.2 方式二手动进行添加所以依赖

  • 首先打开项目结构 Project Structure

    SpringBoot项目制作exe执行文件与安装包_第2张图片

  • 选择Artifacts,进行打包jar。在右侧窗口中点击+,选择JAR,选择From modules with dependencies…

SpringBoot项目制作exe执行文件与安装包_第3张图片

  • 下面就是根据自己项目的实际情况进行设置了,设置完成之后OK即可。

SpringBoot项目制作exe执行文件与安装包_第4张图片

*注:这里如果选择第一种 extract to the target JAR 的方式,在后续的exe制作中会有查询不到主类的情况出现,所以我这里选择了第二种方式,至于为什么会这样,我也待去找原因。

  • 项目jar内容的准备工作 ,需要将右侧的外部jar 和 Web resource 双击到右边一起进行打包。选择完成之后 Apply 和 OK 即可。

SpringBoot项目制作exe执行文件与安装包_第5张图片

  • 将java项目转换为jar: 点击 Build Artifacts

SpringBoot项目制作exe执行文件与安装包_第6张图片

项目打包完成之后,就可以在项目的目录结构中得到,打包好的jar文件以及外部jar和Manifest.mf文件

SpringBoot项目制作exe执行文件与安装包_第7张图片

这些jar包在后续制作exe可执行文件时可以用到。

2、利用exe4j生成 ’.exe’ 可执行文件

​ exe4j下载地址:https://www.ej-technologies.com/download/exe4j/files

SpringBoot项目制作exe执行文件与安装包_第8张图片

​ 下载过程很简单,就不演示了。下载完成之后就可以进行下面的操作:

  • 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

SpringBoot项目制作exe执行文件与安装包_第9张图片

  • 2.下一步之后,选择‘ JAR in EXE ’ mode

SpringBoot项目制作exe执行文件与安装包_第10张图片

  • 3.设置应用信息

    ​ 这里选择的这个输出路径,就是后续生成的exe可执行文件生成后保存的位置,同时该文件夹作为我们exe执行文件的根目录。后续我们还需要添加 jre文件(java运行环境) 以及 lib项目外部资源jar、项目jar文件等项目运行需要的相关文件数据。

SpringBoot项目制作exe执行文件与安装包_第11张图片

  • 4.可执行文件的配置

    SpringBoot项目制作exe执行文件与安装包_第12张图片

​ log日志文件夹的设置,其他没有展示的配置栏目,直接点击下一步即可SpringBoot项目制作exe执行文件与安装包_第13张图片

SpringBoot项目制作exe执行文件与安装包_第14张图片

SpringBoot项目制作exe执行文件与安装包_第15张图片

SpringBoot项目制作exe执行文件与安装包_第16张图片

  • 4.导入Jar文件操作

    ​ 在第一步生成项目jar包的操作中:导入程序jar有两种方式进行导出jar包。如果你没有通过在pom文件中添加代码将项目中使用到的第三方依赖打包成的jar 的方式进行打包,那么我们进进入如下操作:

    ​ 我们将方式二手动进行添加所以依赖时产生的主类jar文件 以及 lib中的第三方依赖jar 全部拷贝到我们的exe执行文件根目录中。然后进行下面的操作。这种导入方式很不方便,exe4j不支持多个jar同时导入,需要一个一个的导入我们的jar文件,所有需要花一点时间!!

    SpringBoot项目制作exe执行文件与安装包_第17张图片

    ​ 如果你选择的是直接将我们项目中使用到的第三方依赖打包成的jar,那么可进行如下操作。同样我们需要将主程序jar包和我二门的第三方依赖jar包 复制到我们的exe根目录中。然后在将主程序jar和第三方引用jar进行导入。

  • 5.java运行环境的配置

    配置jre的版本

    SpringBoot项目制作exe执行文件与安装包_第18张图片

​ 导入本地jre文件。这里导入本地的目的是为了保证exe能在其他电脑(无jre环境)上也能正常运行,首先我们需要将jre文件保存到我们exe文件的根目录(即exe的导出目录,同jar一样保存到根目录中)

SpringBoot项目制作exe执行文件与安装包_第19张图片

SpringBoot项目制作exe执行文件与安装包_第20张图片

之后的其他步骤就默认即可。执行完成之后。在我们的exe输出目录(exe根目录)中就会存在一个exe执行文件。

SpringBoot项目制作exe执行文件与安装包_第21张图片

SpringBoot项目制作exe执行文件与安装包_第22张图片

​ 到此利用exe4j生成exe可执行文件就成功了。点击.exe文件即可运行我们的项目。接下来就是将我们的项目exe文件封装成一个安装包。

3.通过Inno Setup 生成 exe文件的 安装包

​ 首先需要下载Inno Setup。 下载地址:https://jrsoftware.org/isinfo.php

SpringBoot项目制作exe执行文件与安装包_第23张图片

安装过程很简单,就不做演示了。安装好Inno Setup 之后就进行exe文件的打包操作

  • 新建安装包

SpringBoot项目制作exe执行文件与安装包_第24张图片

  • NEXT

SpringBoot项目制作exe执行文件与安装包_第25张图片

  • 设置应用信息

SpringBoot项目制作exe执行文件与安装包_第26张图片

  • NEXT

    SpringBoot项目制作exe执行文件与安装包_第27张图片

  • 添加执行主程序

SpringBoot项目制作exe执行文件与安装包_第28张图片

  • 接下来就是连续的Next 知道我们的下面这步

SpringBoot项目制作exe执行文件与安装包_第29张图片

  • 设置完成之后就是NEXT–> Finish然后我们的脚本就会出现

    在脚本文件中,我们还需要添加jre文件的信息

    在头部信息中添加: define MyJreName “jre1.8.0_201”

    在[Files]中添加下面信息:

    Source: “[exe根目录]\jre1.8.0_201*”; DestDir: “{app}{#MyJreName}”; Flags: ignoreversion recursesubdirs createallsubdirs

SpringBoot项目制作exe执行文件与安装包_第30张图片

点击运行之后就会生成项目的exe文件安装包!!!

SpringBoot项目制作exe执行文件与安装包_第31张图片

【结束!!】

  • TODO后续待处理问题:

*至于项目中的 静态资源 和 配置文件这些怎样关联到安装包中的文件。暂时还未解决!!!

你可能感兴趣的:(开发应用技术,spring,boot,后端,java)