`
jay_kid
  • 浏览: 63883 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

动手实践制作双击运行jar包

阅读更多
这几天帮大学同学的女朋友做了一个毕业设计 , 是一个什么什么库存系统。估计对方也不太熟悉java的命令行,为了展示而装一大堆什么eclipse的也不方便,就想干脆弄个可以双击运行的jar文件给他们用,方便快捷!预想中有两个方案的

  • 写个批处理,然后双击这个批处理文件
  • 做个可以直接着运行的jar文件


头脑发热,选第二个,哈哈哈哈!

在做以前先热一下身,验证一下-classpath参数的用法是否恰当
java -classpath ./bin com.lzw.JXCFrame

以上是打包以前直接在代码目录下JXCManager/>运行的,关键是要把class路径指向./bin,否则会提示找不到class文件

java -classpath ./JXCManager.jar com.lzw.JXCFrame

以上是用Eclipse,Export了一个jar包,然后再试试的,也可以运行,看来-classpath参数要用好

好了!接下来就动手了。首先说一下原理,.jar文件下有个META-INF目录,里面有个MANIFEST.MF文件,是用来寻找运行入口的。我们要做的,就是要让MANIFEST.MF可以对准程序的入口。

首先来编写这个文件的内容,放在JXCManager目录下,命名为manifest.mf

manifest.mf
Manifest-Version: 1.0
Main-Class: com.lzw.JXCFrame
Class-Path: .\bin\


在JXCManager目录下有如下文件

引用
2009-05-02  23:56    <DIR>          bin
2009-05-03  14:56                73 manifest.mf
2009-05-03  14:55               118 manifest.mf.bak
2009-05-02  21:59    <DIR>          res
2009-04-28  22:02    <DIR>          sqljdbc_1.2
2009-04-20  23:54    <DIR>          src


...\JXCManager> jar -cvfm JXCManager.jar manifest.mf *.*
这句命令的意思是说,制作一个jar文件,参数-cvf相信大家都用过了(没用过自己查查,很容易找到的),关键是-m,就是告诉计算机,我要把manifest.mf写进jar文件的META-INF\MANIFEST.MF里面。JXCManager.jar是新制出来jar包的名称, manifest.mf是上面刚写好的文件,*.*意味着把JXCManager目录下的所有文件都压进JXManager.jar里面

目录下多了一个JXCManager.jar文件
引用
2009-05-02  23:56    <DIR>          bin
2009-05-03  14:57         4,743,449 JXCManager.jar
2009-05-03  14:56                73 manifest.mf
2009-05-03  14:55               118 manifest.mf.bak
2009-05-02  21:59    <DIR>          res
2009-04-28  22:02    <DIR>          sqljdbc_1.2
2009-04-20  23:54    <DIR>          src


双击JXCManager.jar就可以运行了!!
4
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics