java中使用jar命令创建可执行的jar包 不指定

Heck post in 编程杂谈 2010/09/10 12:29 评论(0) 阅读(1272) | |
1、创建可执行的jar包。
手工写manifest.mf文件(jar命令自动生成的MANIFEST.MF文件中不会包含Main-Class属性),举例说明:
目录结构:
mymanifest.mf //该文件可以随意放置,只要在执行jar命令时指定mymanifest.mf文件所在位置.
-src
  -test
    Test.class
test.Test代码:


mymanifest.mf文件内容:
Manifest-Version: 1.0
//该属性是创建可执行jar包必需的,指定的Main-Class为全路径类名(且该类必需有main方法)
Main-Class: test.Test
Created-By: wiflish
在src目录下执行:
jar cvfm test.jar ../mymanifest .完成后会在src目录下生成一个test.jar文件。由于没有可视化界面,双击test.jar将会看到没反应。
在命令行执行java -jar test.jar就会得到输出HelloWorld!
这时就完成了基本的创建可执行的jar包。

2、创建要依赖其他包的可执行jar包。
这时只要更改mymanifest.mf文件加入:
Manifest-Version: 1.0
//该属性是创建可执行jar包必需的,指定的Main-Class为全路径类名(且该类必需有main方法)
Main-Class: test.Test
//该属性指定依赖包的路径(路径是相对jar包所在路径)
Class-Path: lib/swing-layout-1.0.jar //这里举例说明,随便用的包
Created-By: wiflish
目录结构:
-src
  -test
    TestDepends.class //假设该类执行依赖于 swing-layout-1.0.jar,具体代码略。
  testDepends.jar
  -lib
    swing-layout-1.0.jar
双击testDepends.jar就能正确执行,如果TestDepends.jar包所在的当前目录下没有lib/swing-layout-1.0.jar的话,如下目录结构:
-src
  -test
    TestDepends.class //假设该类执行依赖于 swing-layout-1.0.jar,具体代码略。
  testDepends.jar双击testDepends.jar,将会报Could not find the main class, Program will exit.
在命令行执行 java -jar testDepends.jar,就会得到找不到TestDepends.class中所依赖的类的错误.



来源:Heck's Blog
地址:http://www.hecks.tk/post/126/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!
Tags: