jar 转 exe 个人经验总结

jar exe的工具很多,比较流行的有exe4j installanywhere(主要做安装)、jsmooth。我在这里选择了jsmooth。实际上jsmooth exe4j的操作都差不多,而jsmoothexe4j还要小巧,我选择jsmooth
制作分两种情况,一种是将jre exe一同发布,这样你就可以不用考虑客户机器上安装jvm没有了。一种是要求客户机器上安装有jre的情况。

1.
先将要求客户机上安装有jre的情况:
很多文章都喜欢从界面操作上开始讲,而我认为从项目文件讲就更简单了。如下是我的jarexetest.exe.jsmooth文件。用jsmooth直接打开 test.exe.jsmooth这个文件(至于界面上每一步该怎么设置都一目了然,全设置好了。),直接编译就ok了。
test.exe.jsmooth
文件内容如下:

 1 <?xml version="1.0" encoding="ISO-8859-1"?>
 2 <jsmoothproject>
 3 <JVMSearchPath>registry</JVMSearchPath>
 4 <JVMSearchPath>javahome</JVMSearchPath>
 5 <JVMSearchPath>jrepath</JVMSearchPath>
 6 <JVMSearchPath>jdkpath</JVMSearchPath>
 7 <JVMSearchPath>exepath</JVMSearchPath>
 8 <JVMSearchPath>jview</JVMSearchPath>
 9 <arguments></arguments>
10 <currentDirectory>.</currentDirectory>
11 <embeddedJar>true</embeddedJar>
12 <executableName>test.exe</executableName>
13 <iconLocation>Ico02 042.ico</iconLocation>
14 <initialMemoryHeap>-1</initialMemoryHeap>
15 <jarLocation>JavaApplication19.jar</jarLocation>
16 <mainClassName>Client</mainClassName>
17 <maximumMemoryHeap>-1</maximumMemoryHeap>
18 <maximumVersion></maximumVersion>
19 <minimumVersion></minimumVersion>
20 <skeletonName>Windowed Wrapper</skeletonName>
21 <skeletonProperties>
22 <key>Message</key>
23 <value>This program needs Java to run.
24 Please download it at http://www.java.com</value>
25 </skeletonProperties>
26 <skeletonProperties>
27 <key>URL</key>
28 <value>http://www.java.com</value>
29 </skeletonProperties>
30 <skeletonProperties>
31 <key>SingleProcess</key>
32 <value>1</value>
33 </skeletonProperties>
34 <skeletonProperties>
35 <key>Debug</key>
36 <value>0</value>
37 </skeletonProperties>
38 </jsmoothproject>


  2种情况,即带jreexe

<?xml version="1.0" encoding="ISO-8859-1"?>
<jsmoothproject>
<JVMSearchPath>registry</JVMSearchPath>
<JVMSearchPath>javahome</JVMSearchPath>
<JVMSearchPath>jrepath</JVMSearchPath>
<JVMSearchPath>jdkpath</JVMSearchPath>
<JVMSearchPath>exepath</JVMSearchPath>
<JVMSearchPath>jview</JVMSearchPath>
<arguments></arguments>
<bundledJVMPath>java</bundledJVMPath>
<classPath>java/bin</classPath>
<classPath>java/lib</classPath>
<classPath>java/lib/rt.jar</classPath>
<classPath>java/lib/javaws.jar</classPath>
<currentDirectory>Test.exe</currentDirectory>
<embeddedJar>true</embeddedJar>
<executableName>Test.exe</executableName>
……
后面同上例一样。
最重要的区别是这个绑定了java虚拟机,指定了classpath路径。
编译时候,把java文件放在同一目录下:
    

            如图:相册中java转exe--图1 目录结构


其中test.exe是生成的。
简单吧,编译就生成了exe文件了。


 

2.

 

 

           如图:相册中java转exe--图2 目录结构

其中:
(1).<
arguments ></ arguments > 表示运行参数。
(2).<
currentDirectory > . </ currentDirectory > 表示的是当前目录,那么你直接把要转换的 jar test.exe.jsmooth 放在同一个目录。(我这里都是放在同一个目录下)
(3).< executableName > test.exe </ executableName > 表示生成 exe 的名字。(我没有测试放在不同目录下的结果 , 我不认为有必要做这个测试)。
(4).< iconLocation > Ico02 042.ico </ iconLocation > 表示 exe 所使用的图标。
(5).< jarLocation > JavaApplication19.jar </ jarLocation > 表示要转的 jar 文件。
(6).< mainClassName > Client </ mainClassName > 表示主类 (7).< skeletonName > Windowed Wrapper </ skeletonName > 表示的是运行时候,不需要带 dos 控制台窗口。对应的是 Console Wrapper

直接保存 test.exe.jsmooth 文件就可以用。
对于应用的目录结构图:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值