java命令行生成jar包

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  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值