Posted on 2007-12-11 17:54
mimi_van 阅读(1486)
评论(3) 编辑 收藏 所属分类:
jar文件
很多时候,程序都不是像前两篇写的那么简单,<如何用My Eclipse 发布 带mianfes.mf 的 jar 文件(一) >
<如何用My Eclipse 发布 带mianfes.mf 的 jar 文件(二) >
很多时候,程序都要用到第三方jar文件,比如最常用的,跟MS-SQLSERVER 交互的就需要用到msbase.jar,mssqlserver.jar,msutil.jar这三个驱动。
在eclipse中,我们都是依靠 右键单击项目,在 Java bulid path 中添加 来完成。
明明在eclipse中 测试成功的项目,发布成jar包后就是没法用。 这里的原因就是这些第三方jar文件没加载进来。如果你在dos控制台下运行你的jar包,也会看到这样的提示。
可是,到底这些第三方jar文件要配置到哪里呢??这个问题也是困惑了我很久的。
在网路上看到,很多人说,在 环境变量 里的 classpath 里进行配置,配置的时候要写绝对路径哦,要加上第三方jar文件的文件名哦。我试了,依然都找不到呢
还有人说,在dos 下运行的时候 记得要 手动指定,比如: -classpath 或 -cp ,我也试了,还是不行的。
后来找到一篇很好的文章,解决了我的困惑。<这篇文章我也有转载到这里,名字是:jar参数运行应用时classpath的设置方法 >
当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误。
实际上这是由于当使用-jar参数运行的时候,java VM会屏蔽所有的外部classpath,而只以本身(yourJarExe.jar)的内部class作为类的寻找范围。
原来如此呢
解决的办法可以参看那篇文章,仔细看哦,我看了好几遍的...(呵呵...没办法啊,我很笨的呢)
另外,还有一个办法就是网路上经常说的,做个exe文件吧。虽然执行的时候,依然需要 jre的 环境,但至少有一个好处就是,它可以很方便的将 第三方jar文件捆绑进去...
关于这个exe文件的制作,不瞒大家说,我又是一通有研究,唉.....有时候,我真的很郁闷,为什么别人一看就懂的问题,我却要花几倍的时间,我确实是不上道啊...........
下面我就来说说我自己的亲身体会吧。
我选择的 exe 封装 工具是 JSmooth ,这个东东虽然好用,可是有两个地方还是很让人恼火的。
一个就是,最好把你要生成exe的可执行jar文件,和你用到的第三方jar文件,还有图片(用来设置exe需要的),这几样通通放到一个目录下。
在一个就是,下面选择mianfest.mf文件时,必须先选择 地下的 embedded jar,这个选好了,在mianfest.mf的浏览里你才能看到 要选的 main 主文件
下面看我自己的实践体验:
1,首先你得去下在一个 JSmooth,很多很多的。(放心吧,我都能下载的到,你一定也可以)
安装后,在文件夹下,双击这个文件 jsmoothgen.exe,看到以下的界面 (我的是 jsmooth-0.9.9-7哦)
这是个欢迎界面了。
2.点击右边的 Skeleton 如图:
Skeleton Selection 我选择的是 Windowed Wrapper
Skeleton Properties 选择 Launch java app in the exe process
选择好了后,接着点击右边的 Executable
3. Executable 界面:
在下面的界面中,Executable Settings 里 有三个选项(鼠标滑动到小问号上,就会有说明德)
<1>. Executable Binary: 写一下你希望生成的 exe文件名,记得要带着扩展名的。这里只写名字即可,不用管路径。
<2>. Executable Icon: 选择一副图片 作为 即将生成的exe文件的 图标,图片尺寸好像有规定,不过我自己试了大的图片,除了有些变形外,还是可以用的。
<3>. Current directory: 这个选项我没选过,默认空就好了。
4.点击Application,看到下面的界面:
这里要强调一点就是:不能先去选择Main class,你点击最右边的Browser,会发现无法选择的。
需要先选择下面的 Embedded jar,---- Browser,--- 选中后,在反过来选择 Main class
这两个选择好了后,在最下面有一个 Classpath 选项,请把你用到的第三方jar文件添加至此处。
然后基本就可以了
5.其实下面还有一个 JVM Selection ,和 JVM Config,这两个,如果你是在自己的机器上使用,这两个基本默认就好,如果你运行 这个exe 的环境和你的机器上的jre版本不同,那就要在设置了,我也正在看这里,因为我今题那就遇到了此问题。会在补充的。
6.前面设置都ok了,就可以选择菜单栏里的project 下的 compile,这时候,会跳出一个对话话,问你要保存exe文件要保存到哪里,你选择一下,其他的不用动。
这里保存的其实是两个文件,一个是 exe 文件,一个是 相对应的 同名的xml 文件,在那个xml文件里 有这个exe的信息。
去你生成exe的路径下检查一下吧,应该是可以用的了。