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 6.0 需要jdk1.8及以上版本。
由于CSDN版权限制,自己去搜License key。
名字和公司随便写,License key随便搜一下都能用,这里审核过不去

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文件操作


 


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


 2、选择主函数所在启动类
 

 
 



 
三、介绍以下几种情况的解决方式:
需要注意以下几点:
1、程序运行正常,但打包过程中,出现程序包
com.sun.***不存在

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

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

3、maven直接将程序与程序中使用到的第三方包一并打包
注意:
 1、不加pom.xml中需要添加的那部分代码,默认生成的是不含有第三方依赖的,需要在exe4j中手动添加依赖(上面有指定步骤位置)*。
 2、添加代码之后会生成两个jar包,注意使用工具加载时的选择。**
 
4、程序运行正常,但由加载的第三方包的jar包生成的exe文件一同打包时仍然存在依赖报错
例如:这一部分我是完全正常操作,但还是出现这个POI操作excel的第三方包查找不到,问题在于POI的版本问题
 
 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号