一.引入maven插件,并配置
在pom.xml文件中添加如下配置,更具体插件的配置可以参考javapackager文档,一般如下配置就可以满足正常需要了。
<build>
<finalName>appname</finalName>
<plugins>
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.8.3</version>
<configuration>
<!-- 作者或者组织名称-->
<vendor>13270323222@qq.com</vendor>
<!-- main方法的类 -->
<mainClass>com.xxxx.Main</mainClass>
<!-- 运行文件名 -->
<appName>${project.build.finalName}</appName>
<!-- 发行版本 -->
<nativeReleaseVersion>${project.version}</nativeReleaseVersion>
<bundleArguments>
<!-- 图标-->
<icon>${project.basedir}/src/main/resources/icon1.ico</icon>
<!--下面这2个参数搭配,可实现一个特别重要的功能,就是,提示用户手动选择程序安装目录,默认目录是在:C:\Program Files (x86)\appName-->
<!--设置为true将在Program Files中安装应用程序。设置为false将应用程序安装到用户的主目录中,如 luxiaoqiang ....。默认值为false。-->
<systemWide>true</systemWide>
<!-- 让用户选择安装目标文件夹 -->
<installdirChooser>true</installdirChooser>
</bundleArguments>
<!-- 菜单 -->
<needMenu>true</needMenu>
<!-- 桌面图标 -->
<needShortcut>true</needShortcut>
<!-- 可执行文件类型 -->
<bundler>exe</bundler>
<!-- 是否展示打包详细 -->
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<!--把src/main/java目录下的properties、xm文件打包打进程序中-->
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<!--把src/main/resources目录下的properties、xm文件打包打进程序中-->
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.fxml</include>
<include>**/*.setting</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<!--把lib/目录下第三方jar包打进程序中,如systemPath目录下的jar-->
<directory>lib/</directory>
<includes>
<include>**/*.jar</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
二.安装innosetup-5.6.1-unicode.exe
打包成exe文件除了以上插件外,还需依赖一个windows打包软件 : innosetup。上文配置的插件版本对应的版本 innosetup-5.6.1-unicode.exe 下载地址。注意是unicode版本的,非unicode可能界面可能出现乱码。安装好后配置到环境变量path中。
三.安装界面汉化
以上配置完成后。打包出来的安装界面默认是英文的,看着很不舒服。所以需要汉化一下。
innosetup自带的语言包中,没有简体中文的,所以需要我们自己来搞。幸好有开源大佬整理的语言包,直接使用就好(再次感谢大佬),地址在这 。拉下代码后 git checkout is-5_6_1。检出对应tag的代码,在.\Files\Languages\Unofficial 路径下找到 ChineseSimplified.isl。复制改文件到innosetup安装目录下。删除原来Default.isl文件,再把ChineseSimplified.isl文件名修改为Default.isl即可。做个替换。注意不好打开文件再复制。很有可能会乱码。到此这一步结束。
四.使用插件打包成exe文件
打开idea 先clean.再执行jfx native。即可完成打包。打包完成的exe文件路径。会在打包日志中显示