目录:
- 准备工作
- 普通jar包
- 可执行jar包
- 废话
准备工作:
准备俩个java类
package test.jar;
public class Dog{
public void bark(){
System.out.println("Hello...");
}
}
package test.jar;
public class Client{
public static void main(String[] args){
new Dog().bark();
}
}
先编译俩个类
#先创建保存编译结果的目录,不然打包时候会把其他不相干的东西打到包里面去
E:desktop>mkdir target
# 编译两个类
E:desktop>javac -d . Dog.java
E:desktop>javac -d . Client.java
#把编译结果移动到target目录,为啥不在编译的时候用-d 指定编译结果到target是因为
#在编译Client的时候会找不到Dog
打成普通jar包
#打包
E:desktop>jar cvf normal.jar -C target .
#执行
E:desktop>java -cp normal.jar; test.jar.Client
Hello...
打成可执行jar包
#可执行jar包在打包的时候需要指定入口在那个类用参数e
E:desktop>jar cvfe exe.jar test.jar.Client -C target .
已添加清单
正在添加: test/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: test/jar/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: test/jar/Client.class(输入 = 320) (输出 = 241)(压缩了 24%)
正在添加: test/jar/Dog.class(输入 = 392) (输出 = 279)(压缩了 28%)
#执行
E:desktop>java -jar exe.jar
Hello...
废话
命令记不住的话,就执行一下 jar ,就可以看到很是详细的说明。