java程序打包成exe转exe的问题

中国领先的IT技术网站
51CTO旗下网站
将Java程序变成可执行文件的简单方法
本文将为大家讲解如何将Java程序变成可执行文件的简单方法,虽然Java程序可以直接执行.class文件,但在某些情况下EXE可执行文件也有它方便的地方。
作者:银河使者来源:ITPUB| 10:37
运行Java程序(SWING或SWT的桌面程序)可以直接执行.class文件或将所有的.class文件及相关的其他文件压缩成.jar文件,然后使用javaw -jar my.jar来运行程序(其中my.jar是一个jar文件名,可以是任何指定的jar文件)。但在windows下,用户习惯直接运行一个exe来执行程序。在网上有很多程序可以将my.jar或.class文件直接转换成exe文件。
但很多都是将jar或.class文件放到exe里成,这样不太方便。有些工具,如javalauncher可以使用一个exe程序(用c语言写的)来调用jar文件。但有时需要在运行程序之间做些其他的工具,例如,在客户端动态从服务端下载最新版本的程序。因此,在本文将使用delphi2009实现一个简单的可以调用jar文件的程序,读者可以对这个程序进行任何扩展,本文还提供了该程序的源代码和exe文件。
使用delphi建立一个VCL工程。在本程序中不需要form,因此,可以将默认生成的form删除。实际上,我们只需要调用ShellExecute方法就可以通过javaw命令来执行jar文件,代码如下:
shellexecute(GetActiveWindow, 'open','javaw', '-jar my.jar', '', SW_NORMAL);
其中GetActiveWindow方法获得当前窗口的句柄。在本程序中使用了一个config.ini文件来指定要执行的jar文件,实现的完整代码如下:
usesForms,windows,shellapi, inifiles, sysU{$R *.res}varini:JarFile: SbeginApplication.Iini := tinifile.Create(extractfilepath(application.ExeName) + 'config.ini');JarFile := ini.ReadString('config', 'JarFile', '');shellexecute(GetActiveWindow,'open','javaw', PWideChar('-jar'+JarFile),'',SW_NORMAL);ini.FApplication.Rend.
在和exe相同的目录下建立一个config.ini文件,内容如下:
[config]JarFile = jars\swt.jar
其中swt.jar文件是执行的jar文件,要放在当前目录的jars目录中。现在的目录结果如下:
launcher.execonfig.ini\jars\swt.jar
其中launcher.exe和config.ini也被包含在本文的下载文件中。读者只需要修改config.ini文件中的相应的jar文件名即可。也可以将launcher.exe改成其它的文件名。还有就是要修改launcher.exe文件的图标,可以直接在delphi2009(低版本的 delphi也可以,最好7.0以上)中改,也可以找一些编辑二进制资源的程序,直接打开launcher.exe文件,修改其中的图标。
当然,本程序也可以使用任何可生成原生可执行文件的编程语言开发,如C、C++等。
OK,现在就可以通过双击launcher.exe文件来调用jar包了。要想对launcher进行扩展,就直接修改源代码吧。其实这个实现是非常非常地简单!!!
【编辑推荐】
【责任编辑: TEL:(010)】
大家都在看猜你喜欢
热点头条热点热点头条
24H热文一周话题本月最赞
讲师:51311人学习过
讲师:91980人学习过
讲师:83445人学习过
精选博文论坛热帖下载排行
在这本书中,C 语言专家 Peter Prinz和Tony Crawford为你提供大量的编程参考信息。全书叙述清晰,语句简洁,分析深刻。本书主题包括:
订阅51CTO邮刊如何将java程序变成exe可执行文件(转)
将java编织成.class后,如果只是用java命令来执行总觉得不是太过瘾,找个办法生
成像exe文件一样用鼠标双击便可执行的文件,应该是很有趣的啊。这里我用了一个名字叫做exe4j的免费小软件,感觉不错。
  首先,
当然是要下载个exe4j。我的是2.2版本的,license:L-g782dn2d-1f1yqxx1rv1sqd。
  接着,将
你要选择好你即将发布的.class文件就不用细说了。下面是创建jar文件,这里我用一个名字叫做d:MyJavaTest.class的文件来举例,
另外注意还要编写一个确定main_class的文件manifest.mf,在这里mainfest.mf和目录MyJava是在同一个目录下(这里是
都在D:),然后使用如下命令:
jar cvfm test.jar manifest.mf MyJava
   manifest.mf当初还不知道怎么写,非常的抓狂。。。呵呵。其实很简单,代码如下:
Manifest-Version: 1.0
Main-Class: MyJava.Test
Created-By: Hanic
  只要Main-
Class写对就可以了。这样,一个test.jar文件就生成了,这里我就不细说jar的具体功能了。但为了确保成功,我们可以再用下面的指令执行一下
刚刚生成的test.jar:
java -jar test.jar
  怎么样,是不是可以很顺利的进行?如果是, 那我们就可以开始进行可执行文件的创建了。
  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、接下来是选择版本,填写好 自己的最大最小版本然后再继续。
7、下面设一下你的文件执行的片头,增加其美观效果,选择自己喜欢的图片,写自己想写的文字,并可以根
据需要调整文字的位置,再继续。
8、下面是一个选择语言版本的界面选好后再继续。
9、下面是一个短暂的等待,然后就 大功告成了,一个java写成的可执行文件就这样生成了。
10、双击一下看看效果,迎面而来的是自己设置的开头效果
a) 利用Eclipse将所需要的主类打成可独立运行的jar包,注意添加manifest属性和MainClass。
b) 新建一个exe4j工程
c) 选择“JAR in exe“ mode
d) 在Configure application中的配置:
i. Short name:随便写.
ii. Ourput Driectory :选择输出路径。
e) 在Configure Executable中的配置:
i. Executable type: 有三个选项,图形,控制台.或服务。从简单点开始吧,这里我们选console
ii. Executable name:填写目的输出源的名称。如test.exe
iii. Icon file:exe图标文件,但必须是.ico文件 (这个类型的图片网上很多选个自己喜欢的)
f) 在Configure Java invocation中的配置:
i. Classpath:选中我们所生成的jar包以及运行该jar文件所需要的类库
ii. Main-Class:选中我们所需要运行的主类。
iii.Arguments(可 选项):输入参数。我们这里暂不需要。
g)在Configure JRE中的配置:
i). Minimum Version:写一个需要运行该程序所需的最低的就JVM的版本,比如1.4
一直next,对于所遇到的步骤选项都默认,直到finish:OK。编译成功后,在你的输出目录上就会有一个崭新的exe程序了
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。java程序如何转化为exe_百度知道
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
java程序如何转化为exe
总得来说有两步,先打成jar包再打成exe。第一步打成jar:方法一:用Eclipse自带的打包工具Ant打包,因为要自己编写xml脚本语言,还要增加一些外部的jar,所以不推荐。方法二:用Eclpise的Export功能,这种打包方法不能把项目中的外部的jar包打进来,所以不推荐。方法三:用Eclipse的一个第三方插件fatjar生成jar文件,也是本人觉得最简单最方便的一种生成方式。下面详解方法三:先从网上下载些插件,解压后是一个plugins的文件夹,里面只有一个文件夹,我的是“net.sf.fjep.fatjar_0.0.27”将它copy到dropins文件夹下,此插件就安装成功了,重启Eclipse在项目上右击就会看到多出一个“Build Fat Jar”在前面有个绿色的“+”号,这时你就可以用此插件打包你的项目了。进去后第一个界面Jar-Name里增入要生成的jar文件名。在Main-Class后点Browse像Export一样它也会列出你项目中的主类,选择后其它默认即可,Next后会列出你要打包的所有内容,这个插件的优势就是可以将你项目中的外部jar也打进来,有三个选项,其中Export ANT是生成build.xml脚本文件,方便用户以后修改脚本,其它两个按钮没用。在这里什么都不点,直接点Finish就可以生成jar文件。第二步:将jar打成.exe文件方法一:用打包工具j2ewiz,这个软件是绿色的,不用安装,解压后可以直接运行,但这个软件生成的 .exe文件不是跨平台的,不推荐。方法二:用打包工具exe4j,网上下载破解版安装。安装后运行左窗窗口标有十步,其实打包过程也非常简单。下面详解方法二:第一步完全略过,直接点Next。第二步我们选择“JAR in EXE mode” 就是选择我们已经有制作好的jar文件。第3步上面是项目名称,可随便填写,下面一个写出你想要将打包后的exe文件输出的目录。第4步控制台输出选择第二个,Executable name写你将要生成的.exe文件的名字,Icon File可以选择生成文件的图标。第5步,先别管上面的,先在下面单击绿色的“+”号,在弹出的窗口中点Archive,然后找到起初已经做好的jar,&OK&后返回,在下面的Class Path里就出现jar文件路径后,再在上面Main Class栏内点击找到main所在的类。第6步,你系统的JRE版本,一般是填个1.3,下面填1.6在这里单击advanced options,选择search sequence。选这个就是因为我们要把JDK环境也打包进来,好让程序能跨平台使用。回到exe4j中在弹出窗口删除列表中的所有项。一个注册表的,一个JAVA环境变量的,一个JDK环境变量的,都不要。然后单击绿“+”,选择directory并选择JRE的根目录,选完后exe4j弹出窗口中的Directory里会显示“.\JRE”。点OK关闭该窗口,返回exe4j的主窗口,你就可以看到刚加的路径。再从主窗口左侧窗口中单击advanced options,并选择preferred VM,在弹出的窗口中选择client hostspot VM,单击next按钮继续。7、8步是一些个性设置默认即可。第9步编译完。第10步你点那个“Click Here to Start the Application”按钮就可以看到程序运行效果了,然后再点&Seave as“保存一个exe4j生成的一个文件,和.exe程序无关用来修改或重新编译生成exe文件。
采纳率:31%
楼主是想把做好的东西转化成.exe文件么?这个是需要工具的。
编译以后 自动生成exe文件的
为您推荐:
其他类似问题
java程序的相关知识
换一换
回答问题,赢新手礼包java程序,显示的是exe可执行文件,如何提取jar进行反编译呢? - 『脱壳破解讨论求助区』
- 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|
后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
查看: 6083|回复: 6
java程序,显示的是exe可执行文件,如何提取jar进行反编译呢?
阅读权限10
发帖求助前要善用【】功能,那里可能会有你要找的答案;
求助软件脱壳或者破解思路时,请务必在主题帖中描述清楚你的分析思路与方法,否则会当作求脱求破处理;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人。
程序 不知道用什么打包成了&&exe,
如何提取jar呢?
在 temp目录下看过,没有。
不知道还有什么 根据可以查找。
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限25
唉,可能是因为你是64位系统的原因吧。我朋友的电脑也是64位,碰测试跟你一样看不到,我这就可以。你短信息发我试试
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
唉,可能是因为你是64位系统的原因吧。我朋友的电脑也是64位,碰测试跟你一样看不到,我这就可以。你短信息 ...
这样啊,我PM你
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
唉,可能是因为你是64位系统的原因吧。我朋友的电脑也是64位,碰测试跟你一样看不到,我这就可以。你短信息 ...
这次 发现应该是install4j 打包的。
不知道这个要怎么搞了。
网站找了两圈资料也没有,又是谷歌又是百度的。
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
在电脑C盘搜索 temp 有个4j什么的临时目录,不管什么系统绝对有,我都破过很多次java的了
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
在电脑C盘搜索 temp 有个4j什么的临时目录,不管什么系统绝对有,我都破过很多次java的了
你可以尝试下我说的这个,真的没找到。
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
你可以尝试下我说的这个,真的没找到。
联系我ID号,我远程给你看看
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
免责声明:吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
( 京ICP备号 | 京公网安备 87号 )
Powered by Discuz!
Comsenz Inc.我用java写了一些小程序,编译成*.class以后,在我机子上运行很正常(废话)
下面开始正题
在我机子上能运行无可厚非,因为我装了jvm.
但是我想把程序传给同学看看,他机子上可没jvm
怎么把*.class变成*.exe让他运行呢??????
我用java写了一些小程序,编译成*.class以后,在我机子上运行很正常(废话)
下面开始正题
在我机子上能运行无可厚非,因为我装了jvm.
但是我想把程序传给同学看看,他机子上可没jvm
怎么把*.class变成*.exe让他运行呢??????
据说JBuilder可以
可惜我用的IDE是Eclipse,不想装JBuilder
还有没其他办法????
全部答案(共4个回答)
也是需要JVM支持的
但是运行快
在你的jdk的bin目录下,有个jar.exe文件,是用来打包的,你运行它会有帮助信息。JCreator的功能较弱,建议你用一个非常好的免费的IDE,叫netb...
/content/11/036_.shtml
将java工程文件打包成.ex...
用SDK的jar命令就行。重点是编辑mainfest文件。mainfest格式如下//123.txtmanifest- 你的版本号created-by:wang...
public class Test{
public double squareAdd(double x,double y){
return x*x+y*y;
《java从入门到精通》(第三版)在京东可以买到 这本书很厚但很详细 也有很多小程序
里面附带光盘 光盘里小程序示例都有源程序
答: 没关系的,只需要退税单就行。
答: 多线程 网络编程都忘光了 现在再翻书看做出来好累哦..
答: 所谓的网络编程,不论c还是java,本质上都是通过socket进行数据传输;
一般情况下可以使用的传输协议有tcp、udp、ftp等等,这些协议为网络变成提供基...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415

我要回帖

更多关于 java程序打包成exe 的文章

 

随机推荐