需求:
最近有个朋友请我帮忙写一个数据处理的小工具,由于我对Java熟悉,索性就用Java语言来开发这个工具,但是使用Java开发的工具有一个缺点,就是需要运行该工具上的机器上安装jre环境,对普通用户来说,比较麻烦。
为了方便用户使用我的工具,我想如果能够把Java开发处的jar包转换成exe可执行文件就好了,果然万能的Google让我找到了方法,其实很简单,现在已经有人写出了这个jar包转换为exe可执行程序的工具了,那就是
exe4j Downloadexe4j.apponic.com使用这个工具,可以很方便的把jar转换为exe
操作流程
具体操作流程我就不写了,请参考
将jar包转换成可执行.exe文件_凌飞安-CSDN博客blog.csdn.netFAQ
1.Java代码运行时获取exe可执行程序的目录
比如说生成的exe程序叫做hello.exe,放在目录F:/hello_dir 下,Java代码中想在这个hello.exe同级目录下面新建一个文件,显然我不能写死这个目录,因为下次人家可能会放在其他的目录下面,那就不对了。
那么有什么办法可以动态的把hello.exe所在的目录传递给Java代码呢?
办法如下:
使用如下代码动态获取exe可执行程序的路径
String basePath = System.getProperty("exe.path");
在打开exe4J软件制作exe可执行程序过程中,在如下步骤添加参数:
-Dexe.path=${EXE4J_EXEDIR}
这样在可执行文件运行的时候,就会把他的路径设置到操作系统属性里面,Java代码通过读取操作系统的对应属性,得到他的路径,就可以实现上面的需求