欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java命令行生成jar包

程序员文章站 2022-05-01 12:29:53
...

java命令行生成jar包

写文件TestMain.java

package com.test.main;

public class TestMain{

	public static void main(String[] args){
		System.out.println("execute main .... ");
	}
}
mkdir classes
javac -d ./classes TestMain.java # 编译好的class文件放置到classes文件夹下。
# 可以看到 classes中有com/test/main/TestMain.class
cd classes
vim MANIFEST.MF # 创建MANIFEST.MF文件

MANIFEST.MF 文件的内容为

Mainfest-Version: 1.0
Main-Class: com.test.main.TestMain

在classes目录下创建MANIFEST.MF后,

jar -cvfm TestMain.jar MANIFEST.MF com  #生成TestMain.jar包

生成jar包后执行

java -jar TestMain.jar

MANIFEST.MF文件中可能的配置

Manifest-Version: 1.0 
Main-Class: test.Main 
Class-Path: ./ ./lib/commons-collections-3.2.jar ./lib/commons-dbcp-1.2.2.jar ./lib/commons-lang-2.3.jar ./lib/commons-logging-1.1.jar 
Premain-class: test.java.agent  # 使用javaagent的时候使用

javaagent的使用

准备javaagent的MANIFEST.MF文件

Manifest-Version: 1.0 
Class-Path: ./ ./lib/commons-collections-3.2.jar ./lib/commons-dbcp-1.2.2.jar ./lib/commons-lang-2.3.jar ./lib/commons-logging-1.1.jar 
Premain-class: test.java.agent 
package com.test.JavaAgent;
import java.lang.instrument.Instrumentation;
public class JavaAgent{
	public static void premain(String args,Instrumentation ins){
		System.out.println("execute java agent");
	}
}

编译成class和MANIFEST.MF一起打包成jar包。然后下面即可使用javaagent运行。

java -javaagent:./javaagent.jar -jar TestMain.jar  

相关标签: java