自己动手编写启动JAVA程序的EXE文件

转载请注明出处:http://blog.csdn.net/sunyujia/

 

有大多的Java人,在四处寻找能将jar打包成exe的工具,另我十分不解的是为什么要打包呢,其实目的无非是想用exe启动而已,其实打包真的没什么好处,一个5m的程序打包成exe还可以,如果一个100m的程序呢?如果这个100m的程序同时还要集成jre呢.打包后启动速度应该不用我多说,而且目前几乎所有打包程序都不是很完美,之所以这些打包程序还可以使用,是因为他们失效的情况,只在很特别的场景下才能遇到,这些工具我也用过一些,感觉不尽如人意.

其实我们平时使用的90%的程序都不是一个exe就能搞定的,而是很多个文件,我们只是用一个exe文件启动程序而已,本这这个思想,我一直想写个java 的exe启动器,因为我还略懂点c++和delphi,当然只是皮毛了,好在完成这件事只用皮毛的知识应该足以.虽说做起来也遇到很多困难,不过最后还是完成了.

因为C++版本的国外已经有人写过了http://download.csdn.net/source/528223

所以这次我写了个Delphi版的

在放代码前,先介绍下这个工具,暂时我给它起的名字也叫javalauncher

使用方法:

文件存放结构

Test.jar

javalauncher.ini

javalauncher.exe

jre

test.jar是要启动的java程序,这个有点像废话

jre是jre,还是废话,不过这个jre可以选择精简版的,我选择的这个精简版只有15M

如果test.jar依赖了其他的jar包,可以放置在/jre/lib/ext里面或者

修改test.jar中的META-INF/MANIFEST.MF文件

添加如下行

Class-Path: swt.jar

稍后我提供的demo是将swt.jar放置在了jre/lib/ext中.因为我的demo是用swt写的,因为用swt写的话可以把jre中swing相关的类都删掉.节省不少空间呢.

让我们看看javalauncher.ini配置文件是如何编写的吧
[blog.csdn.net/sunyujia]
command=./jre/bin/javaw.exe
options= -jar Test.jar

command是指明javaw所在位置,可以用相对路径,如果是使用系统中已经安装的jre直接写javaw.exe即可

options是javaw的参数

非常遗憾的是,我发现我们日常平时使用的命令java 包.类,这种写法并不支持,也就是说想用这个工具启动必须使用-jar

我目前尚未找到原因,初步分析,通过delphi的ShellExecute给javaw.exe传递参数时,javaw.exe只能识别-开头的参数

好在javaw的所有参数都是-开头的,只有上面说的那种情况不是.

我已经将工具和例子上传到

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值