关闭

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

标签: jar文件exe文件batch file移植jdk
367人阅读 评论(0) 收藏 举报
分类:


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

于是想到可不可以将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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    文章分类
    个人资料
    • 访问:5963次
    • 积分:120
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:7篇
    • 译文:0篇
    • 评论:0条
    文章存档