idea javaFx项目 用exe4j打包成exe(包含第三方jar包和文件读写路径问题)

LZQ plus

发布于 2018.10.24 17:35 阅读 5542 评论 0

  1. Idea环境FX项目如何引用第三方jar

个人习惯,非maven项目引用的jar包我都会放在lib里面,这里面就是整个项目需要用到的第三方jar包们。

然后,能够让整个项目调用,在project setting里面设置一下即可,如下图:

添加完之后点击Apply,然后发现第三方程序已经可以使用。

 

  1. 如何将FX项目打包成jar

按照顺序操作Apply之后,关闭窗口,然后点击build,如下图:

  1. 如何使用exe4j2中的jar包生成exe文件

参考文章:http://blog.sina.com.cn/s/blog_73cf72f60102vj7s.html

下载安装exe4j就不介绍了,参考文章里写的很清楚,我这里主要介绍一个细节操作,就是第三方jar包应该在哪里添加进去,(先按部就班写一下操作)

  • 、为了方便我们需要新建一个文件夹,将java安装时的jre文件夹拷一份过来,将lib文件夹靠一份过来,准备好ico文件,放入icon文件夹内,再新建一个build文件夹(必备)供后续使用,如图:

  • 打开exe4j 软件,在欢迎界面 输入注册码。

  • 选择项目类型

  • 设置软件配置信息

  • 设置输出配置和exe文件名称

  • 设置32位还是64

需要注意的地方是,jre需要对应相应位数

  • 设置导入Java程序类型方法及启动

       重点来了:重复上图操作,将第三方jar包逐个添加进去,然后选择main class

  • 设置jre版本要求

  • 配置上jre,因为不加上的话,打包出来的exe无法在没安装java的电脑上使用。

  • 然后接下来一路next就可以了,有一个地方要注意一下,就是下图中所标示的地方是可以设置软件启动时的加载图片的(这个是选择性操作)

 

最后打包之后,生成的exe就在之前设置的build文件夹内

 

  1. 打包后的exe能够获取文件并读写操作的解决方法

如上图所示,config文件夹里有配置文件,这里面的文件可能会进行读写操作,而文本文件又不能打到jar包里面去,所以想到一个解决办法,获取绝对路径,读取操作即可(只要config文件夹和exe文件同级,程序放在哪里都无所谓)

private static final String CONFIG = "config";

public static String getFilePath(String fileName) {
    return new File("").getAbsolutePath() + File.separator + CONFIG + File.separator + fileName;
}