这个是borland不公开的使用技巧,能够通过jbuilder来制作exe文件来启动java文件.jbuilder并不支持本地编译机制.但是有一个隐藏的技巧可以让你从可执行文件来启动java程序,可以出现或者不出现console窗口.想做到这些,需要jbuilder的bin目录下的这些文件:
jbuilder.exe
jbuilderw.exe (可选)
jbuilder.config
jdk.config
javalauncher.dll
"jbuilder.exe"是一个通用的可执行外壳文件,用以启动java程序,"jbuilderw.exe"好像是javaw.exe一样,它把"jbuilder.exe"包装起来,但是运行时候不显示那个console的窗口.使用这些文件的关键是文件名."jbuilder.exe"查找一个文件叫"jbuilder.config"的配置文件,里面包含了运行java程序的必须信息.同样的"jbuilderw.exe"查找"jbuilder.exe"来启动不带console窗口的java程序.如果把jbuilder.exe重命名为"foo.exe",那"foo.exe"将去寻找"foo.config"配置文件,同样"jbuilderw.exe"被重命名为"foow.exe",它会去寻找"foo.exe"文件.
说到这里,聪明的读者应该猜到怎样利用jbuilder.exe来启动应用程序了.只要把jbuilder.exe,jbuilerw.exe,jbuilder.config改名成相应的文件名,在jbuilder.config里面指定主类和类路径,就能够通过执行jbuilder.exe(或者被改名后的exe文件)来启动java应用程序了.下面是用本机为例.
borland jbuilder 5被安装在e:\jbuilder5\目录下,在e:\jbuilder5\bin\下建立一个temp目录,然后把jbuilder.exe,jbuilder.config,javalauncher.dll,jdk.config四个文件拷贝到:\jbuilder5\bin\temp\目录下,然后在这个目录下建立一个hello目录,在这个目录下生成一个hello.java文件,即e:\jbuilder5\bin\temp\hello\hello.java文件,file://hello.java/package hello;
public class hello{
public static void main(string s[]){
system.out.println("hello, exe file!");
}
}
然后打开jbuilder.config文件,作相应的修改:
在jbuilder.config里面找到下面两行
# start jbuilder using the its main class
mainclass com.borland.jbuilder.jbuilder
修改为
# start jbuilder using the its main class
mainclass hello.hello
addpath e:/jbuilder5/bin/temp/
addpath命令是把目录加入类路径中,这个命令和其它config里面可以识别的命令可以在jbuilder/bin目录下的config_readme.txt里面找到详细说明.
然后将jdk.config里面的javapath修改成相对的路径,例如原来是
javapath ../jdk1.3/bin/java
修改成
javapath ../../jdk1.3/bin/java
最后
将jbuilder.exe,jbuilder.config修改成所需要的文件名,例如foo.exe和foo.config文件 .
现在执行foo.exe文件
至此,通过修改jbuilder来使用exe文件启动自己的java应用程序已经完成了.
但是好玩的地方并不在这个地方,下面的小技巧可能更有趣,将jar文件打包进入exe文件!
假设利用上面的文件,生成hello.jar包,执行过程.
jar cvf hello.jar hello\*.class
将类文件打包成exe文件
然后将jar包附加到jbuilder.exe后面去.
copy /b ..\jbuilder.exe+hello.jar foo.exe
将jar文件转化成exe文件
在foo.config(jbuilder.config)文件里面把前面加入的类路径去掉,并加入下面的路径:
addpath e:/jbuilder5/bin/temp/foo.exe
然后执行.
看到了么?一个含jar包的exe文件被执行了!
这个过程的大致原理是:exe文件的重要信息都在文件头部,所以把乱七八糟的东西放exe文件尾部是不要紧的;而jar/zip文件的重要信息是在文件尾部的,这样它们两不相干,能够容 易的被执行.

转载于:https://www.cnblogs.com/521taobao/archive/2012/03/17/2402506.html

JAVA生成exe文件相关推荐

  1. java生成.exe文件

    java生成.exe   思路是先打成jar再把jar打成exe. 1.将项目打成jar: 这里推荐利用Eclipse的一个第三方插件fat jar生成jar文件,这是一种很简单方便的方法,先从网上下 ...

  2. Java多线程之赛跑游戏(含生成exe文件)

    Java多线程之赛跑游戏(含生成exe文件) 在JavaSE中,多线程是一个重要的内容. 我们要了解多线程的概念,就要先了解进程的概念:要了解进程的概念,就离不开操作系统的概念. 在一台正常运行的电脑 ...

  3. JAVA项目的打包及生成.exe文件或者打包安装软件

    总体思路是先打成jar再把jar打成exe.主要看1.3和2.3里的内容就可以了. 1.将项目打成jar: 1.1要将项目打包成jar文件,方法很多,可以用Eclipse自带的打包工具Ant打包,也可 ...

  4. matlAB gui 变成c,matlab改变GUI和figure左上角图标的方法,并生成exe文件

    1. GUI左上角图标的更改,假设GUI的Tag为figure1,在其OpeningFcn里添加 h = handles.figure1; %返回其句柄 newIcon = javax.swing.I ...

  5. jar包使用ex4j生成exe文件

    目的:将java项目生成exe文件 前提:1.下载安装ex4j,即exe for java 2.打包好的jar包,将jar包放在随便一个新建的目录下3.在java的安装目录中将jre文件夹复制过来4. ...

  6. 超详细的java生成excel文件并下载

    在网上随手一搜,可以搜到很多java生成excel文件相关的博客,但每个都有不同,核心点说清楚了,但具体运用的时候,相信大家或多或少都没法一次直接运用,这样每次去找并且运用的时候很费时间,所以这也是我 ...

  7. 关于python的打包打包完生成exe文件之后,不能正常执行程序的问题解决。

    关于python的打包打包完生成exe文件之后,不能正常执行程序的问题解决. 参考文章: (1)关于python的打包打包完生成exe文件之后,不能正常执行程序的问题解决. (2)https://ww ...

  8. Python将py文件生成exe文件

    使用PyCham软件运行生成可执行文件后,最完美的就是将py文件生成exe文件,这样可以任意复制移植到其他电脑上,供他人共享. 由于新手初步尝试,自己一个人摸索,遇到了很多坑.这里先给出最简单有效的方 ...

  9. django可以生成exe文件吗_把 Django 程序打包为 exe 可执行文件

    功能背景 我把自动化校准程序写好后,可以在 Pycharm 中运行 Django 程序.但是,这个程序最终要给检定员用的,我不可能在每个检定员的电脑上安装 Django 编程环境让他们使用.所以,要把 ...

最新文章

  1. 行内标签(最常用的:a标签、img标签、span标签)
  2. 亚马逊记AWS(Amazon Web Services)自由EC2应用
  3. 用CNN做NLP文本分类竞赛
  4. python中logging模块详解_python logging日志模块详解
  5. innodb_force_recovery
  6. 通过机器学习神经网络自动写前端代码
  7. 【对讲机的那点事】维修对讲机你会拆卸电路板上的集成电路块吗?
  8. 14. 使用reserve避免不必要的内存分配
  9. Go语言入门之指针的使用
  10. NET Core-学习笔记(一)
  11. Nexus3功能介绍
  12. 使用depot_tools下载chromium源码
  13. MSI Center局域网管理器开启导致电脑网络质量变差、网速低
  14. JS 设置适配屏幕分辨率大小
  15. 苹果电脑win10蓝牙音响卡顿_win10 蓝牙音箱 卡顿【相关词_ win10蓝牙鼠标卡顿】...
  16. ​重磅:IBM以340亿美元收购红帽软件 或将成为云计算市场领军者
  17. 微信大数据挑战赛方案总结
  18. 给女朋友写的简单的公众号推送信息程序
  19. 短视频风口持续 今日头条再投10亿补贴火山小视频
  20. 怎样用excel剔除异常数据_excel如何去除异常值?(excel表格数据异常丢失)

热门文章

  1. 人,注定是要自由的 | 萨特
  2. 【vue】v-for循环样式乱
  3. [NOIP2016]组合数问题
  4. 记intouch SMC local下驱动丢失问题解决
  5. 富达国际加密货币交易与存储平台目前进入最终测试
  6. 电路噪声的产生以及抑制噪声的方法
  7. 基于Python的netCDF格式文件转换为GeoTiff格式
  8. C#生转换网页为pdf
  9. 如何用AI画出可爱的漫画少女插图?
  10. win7 linux双系统引导修复工具,给你传授双系统引导修复工具【搞定指南】