当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
使用JSmoothJava转exe总结
发布时间:2010/11/12 11:28:34 来源:城市学习网 编辑:ziteng
  jar 转 exe的工具很多,比较流行的有exe4j 、installanywhere(主要做安装)、jsmooth。我在这里选择了jsmooth。实际上jsmooth 和exe4j的操作都差不多,而jsmooth比exe4j还要小巧,我选择jsmooth。
  制作分两种情况,一种是将jre 和 exe一同发布,这样你就可以不用考虑客户机器上安装jvm没有了。一种是要求客户机器上安装有jre的情况。
  1. 先将要求客户机上安装有jre的情况:
  如下是我的jar转exe的test.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> [NextPage]  38 </jsmoothproject>

  其中:

  (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文件就可以用。

  对于应用的目录结构图:

21.jpg

  2.第2种情况,即带jre的exe

  <?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文件放在同一目录下:

22.jpg

  其中test.exe是生成的。

  简单吧,编译就生成了exe文件了。

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved