手工写manifest.mf文件(jar命令自动生成的MANIFEST.MF文件中不会包含Main-Class属性),举例说明:
目录结构:
-src
-test
Test.class
test.Test代码:
2 public class Test {
3 public static void main(String[] args) {
4 System.out.println("HelloWorld!");
5 }
6 }
mymanifest.mf文件内容:
//该属性是创建可执行jar包必需的,指定的Main-Class为全路径类名(且该类必需有main方法)
Main-Class: src.test.Test
Created-By: wiflish
在src目录的上一层执行:
jar cvfm test.jar mymanifest.mf src.【mymainfest.mf文件可放在src目录下的任何地方】
//生成的jar包会在src的上一层目录下
完成后会在“src上一层目录”下生成一个test.jar文件。由于没有可视化界面,双击test.jar将会看到没反应。
在“src上一层目录”下执行命令行java -jar test.jar就会得到输出HelloWorld!
这时就完成了基本的创建可执行的jar包。
2、创建要依赖其他包的可执行jar包。
这时只要更改mymanifest.mf文件加入:
//该属性是创建可执行jar包必需的,指定的Main-Class为全路径类名(且该类必需有main方法)
Main-Class: test.Test
//该属性指定依赖包的路径(路径是相对jar包所在路径)
Class-Path: lib/swing-layout-1.0.jar //这里举例说明,随便用的包
Created-By: wiflish
目录结构:
-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的话,如下目录结构:
-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中所依赖的类的错误.
此篇文章是网上载录下来的,其中,有些地方,在我进行亲自尝试时,发现了点小问题,进行了适当的改正。大部分都是原著引过来的。在个人搜索了不少文章,觉得这篇文章是相对来讲,较为易懂。