exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程

在这里通过举例:
将一个GUI界面工具生成jar包并使用exe可执行文件的过程来演示,其中也会附带打包过程中几种产生的问题。

注意:如果你的GUI工具存在以下问题:

1、程序运行正常,但打包过程中,出现程序包`com.sun.***`不存在
2、加载外部文件数据(例如字典文件),文件路径找不到
3、maven直接将程序中使用到的第三方包一并打包
4、程序一切运行正常,但将加载的第三方包的jar包生成的exe文件一同打包时仍然存在依赖报错

这里同样存在解决方案,不过文案先介绍一种成功的方式:
使用maven将第三方依赖包一同打包生成jar包,使用exe4j工具将jar包生成exe可执行文件。

一、EXE4J打包jar包,生成exe可执行文件

1、exe4j下载地址:https://www.ej-technologies.com/download/exe4j/files
下载太慢,附上网盘下载链接:
链接:https://pan.baidu.com/s/1JDpN70wxPBAqIPqijuOGiw提取码:6666

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第1张图片

注意:exe4j 6.0 需要jdk1.8及以上版本。
由于CSDN版权限制,自己去搜License key。
名字和公司随便写,License key随便搜一下都能用,这里审核过不去

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第2张图片

2、此处开始IDEA中使用Maven来生成带第三方依赖的jar包。maven的打包默认是不加载项目中使用到的第三方依赖的。
两种方式:添加pom代码,生成一份带依赖的jar包;或者生成exe时手动动添加所有依赖

  • pom.xml文件中添加以下依赖
   <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <!-- get all project dependencies -->
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
          <!-- MainClass in mainfest make a executable jar -->
          <archive>
            <manifest>
              <!--更改为自己的主函数启动类-->
              <mainClass>com.bjwx.gui.ReqGui</mainClass>
            </manifest>
          </archive>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第3张图片

二、打开exe4j工具开始执行生成exe文件操作

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第4张图片

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第5张图片
exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第6张图片

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第7张图片

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第8张图片

1、选择带第三方依赖的jar包进行加载

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第9张图片

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第10张图片
2、选择主函数所在启动类
exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第11张图片

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第12张图片
exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第13张图片
exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第14张图片

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第15张图片

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第16张图片

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第17张图片
exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第18张图片

三、介绍以下几种情况的解决方式:

需要注意以下几点:

1、程序运行正常,但打包过程中,出现程序包com.sun.***不存在

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第19张图片

原因:util导包更换下,程序执行的时候一直没问题,但打包的时候就报异常。
处理如下:

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第20张图片

2、加载外部文件数据(例如字典文件),文件路径找不到

1、exe文件生成之后,也是需要加载数据文件的,但IDEA工程内运行与exe执行相对于文件的搜索的位置是不一样的,记得更改为exe文件能加载到的位置再生成jar包
2、需要加载外部数据文件的情况下,直接在exe4j软件内点击运行还是会报文件找不到,这个只需要从文件夹内点击就不会报错。

exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第21张图片

3、maven直接将程序与程序中使用到的第三方包一并打包

注意:
1、不加pom.xml中需要添加的那部分代码,默认生成的是不含有第三方依赖的,需要在exe4j中手动添加依赖(上面有指定步骤位置)*
2、添加代码之后会生成两个jar包,注意使用工具加载时的选择。**
exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第22张图片

4、程序运行正常,但由加载的第三方包的jar包生成的exe文件一同打包时仍然存在依赖报错

例如:这一部分我是完全正常操作,但还是出现这个POI操作excel的第三方包查找不到,问题在于POI的版本问题
exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第23张图片
exe4j打包生成exe文件详细使用教程,示例一个需要加载外部文件的GUI打包过程_第24张图片

你可能感兴趣的:(Java,maven,jar)