1、创建可执行的jar包。
手工写manifest.mf文件(jar命令自动生成的MANIFEST.MF文件中不会包含Main-Class属性),举例说明:
目录结构:
test.Test代码:
mymanifest.mf文件内容:
在src目录的上一层执行:
手工写manifest.mf文件(jar命令自动生成的MANIFEST.MF文件中不会包含Main-Class属性),举例说明:
目录结构:
mymanifest.mf //该文件可以随意放置,只要在执行jar命令时指定mymanifest.mf文件所在位置.
- src
- test
Test. class
- 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 }
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: src.test.Test
Created - By: wiflish
// 该属性是创建可执行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文件加入:
Manifest
-
Version:
1.0
// 该属性是创建可执行jar包必需的,指定的Main-Class为全路径类名(且该类必需有main方法)
Main - Class: test.Test
// 该属性指定依赖包的路径(路径是相对jar包所在路径)
Class - Path: lib / swing - layout - 1.0 .jar // 这里举例说明,随便用的包
Created - By: wiflish
// 该属性是创建可执行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
- 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
- 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中所依赖的类的错误.
此篇文章是网上载录下来的,其中,有些地方,在我进行亲自尝试时,发现了点小问题,进行了适当的改正。大部分都是原著引过来的。在个人搜索了不少文章,觉得这篇文章是相对来讲,较为易懂。