1、创建可执行的jar包。
手工写manifest.mf文件(jar命令自动生成的MANIFEST.MF文件中不会包含Main-Class属性),举例说明:
目录结构:
<!---->
mymanifest.mf //该文件可以随意放置,只要在执行jar命令时指定mymanifest.mf文件所在位置.
-
src
-
test
Test.
class
test.Test代码:
<!---->
1
package
test;
2
public
class
Test {
3
public
static
void
main(String[] args) {
4
System.out.println(
"
HelloWorld!
"
);
5
}
6
}
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中所依赖的类的错误.