用jsmooth将jar文件转换为exe文件

 

jsmooth下载地址:  http://jsmooth.sourceforge.net/index.php
jsmooth是一个开源工具 首先下载一个.要想将java程序要做的第一件事还是要把java程序打包成jar文件
单个的类文件打包过程在这里就不讲了,还是讲一下将第三方jar包进行打包的过程
这其中主要是多了一步修改MANIFEST.MF文件的步骤,其它的都一样
目录在F:/Work File/ServerTest存放着两个文件夹分别是data和demo
▲用命令jar cvf data/show.jar data/CVT.class data/COO.class demo/Test.class demo/Test$1.class demo/Test$2.class ...(程序所有的class)
▲修改show.jar文件下的MANIFEST.MF直接解压缩就可以,文件前两行是已经存在的,后两行是要自己手动添加的,第三方包是放在data目录下面的,主程序是放在demo目录下的文件Test
Manifest-Version: 1.0
Created-By: 1.5.0_04 (Sun Microsystems Inc.)
Main-Class: demo/Test
Class-Path: QuickServer.jar commons-beanutils.jar commons-collections.jar commons-digester.jar commons-pool.jar
▲命令jar umf MANIFEST.MF show.jar 这个命令就是为了将修改后的MANIFEST.MF文件替换掉以前show.jar里面的那个同文件名的.MF文件
这样.jar文件就编译成功了
运行一下
▲java -jar show.jar
就会看到你主类程序运行的效果.
打包成功了之后接下来就是要把jar文件转换为exe文件了,有了jsmooth这个工具一切都简单多了
我将.jsmooth源文件和图片全部贴出来对照说一下
 

如图配置好了,然后点击菜单项project下的Compile就会出现如下所示图

good.jsmooth文件的源代码如下与上面图片所示的选项完全对应

<? 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 >
< classPath > ..datacommons-beanutils.jar </ classPath >
< classPath > ..datacommons-collections.jar </ classPath >
< classPath > ..datacommons-digester.jar </ classPath >
< classPath > ..datacommons-pool.jar </ classPath >
< classPath > ..dataQuickServer.jar </ classPath >
< currentDirectory > . </ currentDirectory >
< embeddedJar > true </ embeddedJar >
< executableName > good.exe </ executableName >
< iconLocation > ......icon1.ico </ iconLocation >
< initialMemoryHeap > -1 </ initialMemoryHeap >
< jarLocation > ..datahello.jar </ jarLocation >
< mainClassName > demo/Test </ mainClassName >
< maximumMemoryHeap > -1 </ maximumMemoryHeap >
< maximumVersion ></ maximumVersion >
< minimumVersion ></ minimumVersion >
< skeletonName > Console Wrapper </ skeletonName >
< skeletonProperties >
< key > Message </ key >
< value > This program needs Java to run.
Please download it at http://www.java.com
</ value >
</ skeletonProperties >
< skeletonProperties >
< key > PressKey </ key >
< value > 1 </ value >
</ skeletonProperties >
< skeletonProperties >
< key > Debug </ key >
< value > 1 </ value >
</ skeletonProperties >
</ jsmoothproject >

 

说明一下其中的一些源代码

<arguments></arguments>表示运行参数。

<classPath>../data/commons-beanutils.jar</classPath>所要用到第三方jar包存放的位置为当前good.jsmooth文件同一目录下(对应图3)
<currentDirectory>.</currentDirectory>表示的是当前目录,那么你直接把要转换的jar和good.exe.jsmooth放在同一个目录。(对应图2)
<executableName>good.exe</executableName>表示生成exe的名字。(对应图2)
<iconLocation>../../../icon1.ico</iconLocation>表示exe所使用的图标。(对应图2)
<jarLocation>../data/hello.jar</jarLocation>表示要转的jar文件。(对应图3)
<mainClassName>demo/Test</mainClassName>表示主类的名称

<skeletonName>Console Wrapper</skeletonName>是在DOS窗口下运行,在windows下运行可以选择 Windowed Wrapper(对应图1)

<maximumVersion></maximumVersion>这两个是版本信息 高版本与底版本 超出你所设定范围就没有运行了
<minimumVersion></minimumVersion>

<key>PressKey</key>按任意键可以停止程序运行的(对应图1)

总结一下在编译 转换的过程中一定要注意所有文件的位置,这个问题解决好了 基本上就没有什么问题了.

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值