打jar包

目录:

  • 准备工作
  • 普通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 ,就可以看到很是详细的说明。

原文地址:https://www.cnblogs.com/blbl9527/p/7631364.html