简易语言

数字沟通

 

打包——JSmooth

 

在这之前已经有很多人讲过怎么用JSmooth了,如BeanSoft还贴了自己的视频,网址是: http://download.gro.clinux.org/beansoft/JSmooth_zh_CN.swf  大家记得去参考,做的挺好的。

 写这篇文章一是为了完整性,再一个一步一步过来比较自然,先学会简单易用的,思维也容易清晰。很多的文章也免不了千篇一例,过来看看我的见解还是值得的,呵呵。

 其实这款小软件真是一堆一堆的漏洞,但还是勉强可用,作为开源打包的入门软件。通常都用JSmooth 0.9.9-7版本的,看看下面的图


 
是我们的beansoft翻译的,上次说过了,有问题可要请教他呀。

   先别急着动手,先说学完咱们可以做啥,一个是你可以生成一个有exe壳的jar应用程序,其实就是在你的包里多了一个exe文件,其他的依旧在,不要以为拿着你的exe就出去用了,脱离了你的这个jar,你的这个文件结构就玩完了,甚至脱离了你本地机的java环境就没戏了。你不能要求客户都安装jdk吧,人家不想搞研发。别灰心,看完本文你就知道怎么脱离java环境了(只是脱离本地机java环境哦,不是脱离你的那个包结构,还没那么智能的)。虽然是很简单,可当初我也是不了解。几个人硬没弄出一个脱离java环境的,加上小软件经不起蹂躏,然后不得不怪软件是中文版的,还动手用c来生成exe调用巨大的jdk,然后脱离本地机java。转了一圈回来才理解了怎么回事。之所以说它经不起蹂躏就是你不要对着上面的按钮哗啦哗啦的点,一不小心,它不反应了,你的从新打开,次数开多了,说不定每次都不让你看某些界面。除非你重启。或者正常的某个功能就是不理你了,或者生成的时候忘了敲上exe而不得不从来。所以蹂躏对软件和你都没好长。

 下面分两部分,一部分教你用最简单的方式打出exe,体会一下成功的快乐。一部分教你加上jre脱离本地机java

  

 前提,你有java环境(安装了jdk

 最简单的exe打包

 其实最简单的打包只要写三个地方就可以打了,而你可以对着一个jar文件就打成你的exe,有一点就是你要知道jar里的主类是谁,不知道这个概念就问问别人。那么开始吧,讲的算细了。

 打开绿色软件中的jsmoothgen.exe就开始了。这里以打Java2Demo.jar为例(在jdkdemo里有,我就不提供了),

1.       点击 骨架,选择Windowed Wrapper (表示打的是windows下的,左边栏从上到下就一打包流程,很多都没用上,也没细究。移动鼠标到“?”,人家告诉你该做什么。别太兴奋。)


2.点击 可执行文件,点击红线处的按钮找到你的jar文件,记得换后缀为exe,如图


3.       点击 应用程序,点击classpash 那一栏右边的加号,把你的jar加进去,然后点击红线处,弹出的框中只有一个文件夹,双击打开,直到找到你的主类为止,点击 select 确定,如下两幅图所示


开始生成吧,点击工具栏里的小齿轮,弹出对话框,路径就选在你打包的文件下(好像是必须的),写上名称,如图,确定即可在你的包里看到这个exe


打开
E:"Java2D看到


  其中
j2d.jsmoothjsmooth生成的配置文件,Java2Demo.exe即你要的,点击试试,看能不能用,然后把exe剪切到其他地方看能不能用,放回来,把C:"Program Files下的java文件夹改名字(注意把用到java虚拟机的软件都关了),看exe还能不能用。(别忘了改回来。)

结果清楚了exe不能和jar分离了,也不能离开jvm环境,下面我们就让他脱离本机java环境。这样的exe可以为我们进一步的打包奠定基础,所有它是有用的。

准备条件:把你jdk下的jre考到和jar同一个目录,要图标就找好一个“.ico”的文件三个放同一文件夹下

下面开始:

1.       和刚才一样,点击 骨架,选择Windowed Wrapper

2.       点击 可执行文件,找到你的jar文件,记得换后缀为exe,同样找到包里准备好的ico文件如下图

这就看到一个bug了,我选的ico它显示为另外一个以前同名的ico,即使我改了它的名,其实还有另一点令人不舒服的,就是每次点击找路径都从头找,它不帮你记下。另外注意一点我一来点了保存,把j2d.exe.jsmooth存到了e:"java2D下,所以你看到的路径很短,


    3.和刚才一样找到jar放到classpath里,然后找到主类,(注意顺序性)


4.点击 jvm选项 ,在jvm捆绑包那选上复选框,点红线处找到jre路径并确定。如图


选择了
jre

5.开始生成吧,点击工具栏里的小齿轮,弹出对话框,路径就选在你打包的文件下,写上名称,如图,

确定生成

exe是你要的,这里要抱歉一下,它的bug所致,ico用的不是我当前的ico,但也没什么影响。J2d.bmp什么的是不必要的,下一节才用上,点击exe看,把C:"Program Files下的java文件夹改名字再试一次,噢,可以了,呵呵。Jsmooth 的其他选项就考各位补充了,俺不太明白了,谢谢各位。下次讲launch4j打包。



一种更好的态度,更好的学习、思维方式。它会是网络极佳的生存方式,你喜欢就对。

posted on 2008-11-19 22:02 yangyusong 阅读(5708) 评论(3)  编辑  收藏 所属分类: 打包

评论

# re: 打包——JSmooth 2008-11-22 23:32 moggy

怎么不讲exe4j打包呢?  回复  更多评论   

# re: 打包——JSmooth[未登录] 2009-05-01 13:34 leo

“生成的EXE离不开jar文件” 是错误的  回复  更多评论   

# re: 打包——JSmooth[未登录] 2009-10-13 17:10 lee

试了好几次了。就是不能把jre打进exe里面去。不知道为什么?  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

搜索

最新评论

阅读排行榜

评论排行榜