关于jar文件到exe文件的转换


         网上查了一下,有几款软件支持这样的操作,但是大多操作繁琐。

于是想到可不可以将jre环境移植到文件夹中,用一个批处理定位到java来实现jar文件的运行。我们知道在一台装有jre环境的计算机上可以在命令提示符环境下通过 java –jar *.jar 或者直接双击*.jar来运行jar文件,但是这一切的前提是配置好jre的环境变量。

         我是这样做的,把jdk目录下的jre文件夹复制到你打算打包的文件夹,例如Master文件夹。那么如何定位到jre目录下的java,并用它来执行jar文件。通过查询,了解到 %~dp0 表示当前文件夹的路径。假设批处理文件存放在和jre同一级目录即Master下,那么进入jre目录的命令就是:

cd %~dp0\jre

在这个目录下我们就可以直接通过java函数来执行jar文件(jar程序放在jre目录下),完整的批处理命令应该是:

@echo off

cd %~dp0\jre

java -jar *.jar

exit

实际测试时,发现这样做是可行的,但是存在一点点瑕疵。当执行完批处理,jar程序被打开时,命令提示符窗口不会消失,如果你把这个程序发给别人看,这可能会影响美观。

         再次借助万能的Google,找到以下一段代码可以实现隐藏批处理执行时出现的窗口:

@echo off

if "%1"=="h" goto begin

start mshtavbscript:createobject("wscript.shell").run("""%~nx0""h",0)(window.close)&&exit

:begin

此处放置要执行的代码

完整的实现是:

@echo off

if "%1"=="h" goto begin

start mshtavbscript:createobject("wscript.shell").run("""%~nx0""h",0)(window.close)&&exit

:begin

cd %~dp0\jre

java -jar *.jar

exit

将以上代码保存为Run.bat,然后存放在和jre同一级目录下,jar程序复制至jre目录下,大功告成,这样程序所在计算机就不需要安装和配置jre就可以直接运行jar程序了,当然这样做的缺点就是你的文件会很大。

如果不喜欢bat格式的,可以用一款叫做Quick Batch File Compiler的软件将其转换至exe格式,还可以加入自己喜欢的图标和版本信息。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一步,打开你要打包的java程序,然后对着那个项目的文件夹右键,选择Export,然后在选择Java文件夹在选择Jar File 在Next,在然后Finish就可以啦,你看你的项目文件的根目录下是不是有个.jar文件?想测试也可以,在Doc下敲入命令 java -jar test.jar 把test.jar成你刚打包生成的jar文件名就行了,想要打包成exe文件还没完呢,看第二步; 第二步,打开Exe4J工具,是讲jar包打包成Exe文件的,他的使用方法也很简单,下面是方法; 引用内容 exe4j应用起来倒是相当简单。类似于傻瓜式的,只要一路next,填写和选择个别的参数就ok了。稍微懂点e文的都可以应用自如了。不要说你一点e文都不懂啊!没办法,简单说下流程: 1、打开exe4j,可以输入license,可以打开你以前操作过的config文件。 2、单击NEXT键,选择”JAR in EXE”mod按钮,单击NEXT。 3、填写短名和文件输出的路径然后点击NEXT。 4、在这里你可以选择你要生成的可执行文件的类型,以及生成的可执行文件名称、可执行文件的图标等,我们在这里就选择GUI application,名字就根据自己的需要取一个,图标你可以自己在你的图标库里选一个你喜欢的,然后再NEXT。 5、在这里填写Main class的名字,单击绿色+选择所需的.jar文件,如果没有特殊要求我们就可以再继续了。 6、接下来是选择jre版本,填写好jre的最大最小版本然后再继续。 7、下面设一下你的文件执行的片头,增加其美观效果,选择自己喜欢的图片,写自己想写的文字,并可以根据需要调整文字的位置,再继续。 8、下面是一个选择语言版本的界面选好后再继续。 9、下面是一个短暂的等待,然后就大功告成了,一个java写成的可执行文件就这样生成了。 10、双击一下看看效果,迎面而来的是自己设置的开头效果,感觉怎么样?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值