这几天帮大学同学的女朋友做了一个毕业设计 :D , 是一个什么什么库存系统。估计对方也不太熟悉java的命令行,为了展示而装一大堆什么eclipse的也不方便,就想干脆弄个可以双击运行的jar文件给他们用,方便快捷!预想中有两个方案的
[list]
[*]写个批处理,然后双击这个批处理文件
[*]做个可以直接着运行的jar文件
[/list]
头脑发热,选第二个,哈哈哈哈!
在做以前先热一下身,验证一下-classpath参数的用法是否恰当
以上是打包以前直接在代码目录下JXCManager/>运行的,关键是要把class路径指向./bin,否则会提示找不到class文件
以上是用Eclipse,Export了一个jar包,然后再试试的,也可以运行,看来-classpath参数要用好
好了!接下来就动手了。首先说一下原理,.jar文件下有个META-INF目录,里面有个MANIFEST.MF文件,是用来寻找运行入口的。我们要做的,就是要让MANIFEST.MF可以对准程序的入口。
首先来编写这个文件的内容,放在JXCManager目录下,命名为manifest.mf
manifest.mf
在JXCManager目录下有如下文件
[quote]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[/quote]
目录下多了一个JXCManager.jar文件
[quote]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[/quote]
双击JXCManager.jar就可以运行了!!
[list]
[*]写个批处理,然后双击这个批处理文件
[*]做个可以直接着运行的jar文件
[/list]
头脑发热,选第二个,哈哈哈哈!
在做以前先热一下身,验证一下-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目录下有如下文件
[quote]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[/quote]
...\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文件
[quote]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[/quote]
双击JXCManager.jar就可以运行了!!