idea将Java项目打包Jar包,并生成exe可执行文件,并在无环境的电脑上运行
第一步:
创建JavaFX项目
- Java 8:
因为JDK8中集成了JavaFX,所以在JDK8环境下创建JavaFX程序很简单。只需像创建普通Java项目一样创建项目,在代码中导入JavaFX相关包即可编写并直接运行即可运行JavaFX程序。 - Java 8+:
在JDK8后的JDK版本不再集成JavaFX,我们需要自己向项目中引入JavaFX,所以创建JavaFX项目会复杂一些。
我们此处采用创建Maven或Gradle项目并引入依赖的办法来引入JavaFX。如果不使用Maven,也可以在Project Structure中通过给项目添加依赖的方式,来使用和运行JavaFX程序。但是此种方式不利于管理项目,在后续打包过程中也会遇到许多困难与问题,所以不推荐。
此处以Maven为例:
- 第一步:创建Maven项目
- 第二步:在pom.xml文件中添加如下代码,导入依赖。
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>19.0.2.1</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>19.0.2.1</version>
</dependency>
</dependencies>
- 第三步:在pom.xml文件中添加如下代码,导入插件。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<source>19</source>
<target>19</target>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.8</version>
<executions>
<execution>
<!-- Default configuration for running with: mvn clean javafx:run -->
<id>default-cli</id>
<configuration>
<mainClass>这里填你的主类名称</mainClass>
<launcher>app</launcher>
<jlinkZipName>app</jlinkZipName>
<jlinkImageName>app</jlinkImageName>
<noManPages>true</noManPages>
<stripDebug>true</stripDebug>
<noHeaderFiles>true</noHeaderFiles>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
添加插件之后,可以看到右边的maven侧栏多出了选项。
此时我们创建一个入口类
并将javafx-maven-plugin中的主类设置成该入口类。
设置完毕后,点击maven侧栏中plugin项下的javafx:run即可运行项目。
另外,高版本的idea支持一键创建maven包裹的JavaFX项目。
构建JavaFX项目为可执行的jar程序
Java 8:
-
第一步:打开Project Structure设置界面,点击Artifacts。
-
第二步:然后继续添加modle,如下。
-
第三步:配置好后,出来,点击build->build Atfacts,如下:
-
生成的jar在项目out文件夹中,直接copy到桌面,如下图:
另外,为了满足在没有java运行环境的电脑上运行,需要把jdk下的jre文件夹也copy过来。下面我们就开始生成exe可执行文件
第二步
打包JavaFX项目为exe
这里使用的是exe4j工具,操作如下:
-
下载安装exe4j
安装成功之后直接运行。 -
打开
-
点击Project type ,选择 “JAR in EXE” mode , 点击 next
-
填写应用名称和exe文件的生成目录位置
-
给生成的exe可执行文件取名,如果想生成自定义图标,那么选择你的ico文件,如果你不想在一台电脑上运行多个你的程序,你可以勾选“Allow only a single…”。
这个地方会出现一个报错
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yX5fBD4e-1596264050446)(https://upload-images.jianshu.io/upload_images/20470201-ce7570754e270a66?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
-
设置方法
-
点击next,到如下界面,点击绿色“+”,设置程序运行的Class Path
选择打包好的jar包
选择主程序
-
点击next,然后出现下面界面。输入Java最小Jre版本号,即低于这个版本的Jre无法运行该程序,接着点击“Advanced Options”-“Search sequence”,设置一下我们的JRE,之前说过,如果客户机上没装Jre咋办?,没关系我们捆绑一个进去
绑定jre
-
点击next,出现一下界面。
到这里,一个exe就完成了,虽然可以执行,但是每次给其他人的时候,我们都只能copy整个文件夹给别人,所以,把文件夹打包成安装程序,直接让别人安装就可以了,这里用Inno setup工具就可以了
首先,先删除文件夹中的jar
然后,就可以开始了
点击文件->新建->下一步
然后输入应用相关信息
然后设置安装地址
现在需要打包的exe文件,在添加需要打包的所有文件
然后一直下一步
现在输出编译文件输出地址,一会儿要执行这个文件,然后是安装文件名称,最后是安装文件图标
然后一直下一步就可以了
最后会执行编译文件进行打包,生成安装文件
这样我们就完成了java程序的打包工作,你只需要把安装文件发给其他人运行就可以了