【发布时间】:2017-11-29 08:48:45
【问题描述】:
我正在尝试运行一个基本的 java 代理。
我跟着这个:
How to put classes for javaagent in the classpath
但我收到了这些错误
Failed to find Premain-Class manifest attribute in target/demo.jar
Error occurred during initialization of VM
agent library failed to init: instrument
这是我的经纪人
package com.example.demo;
import java.lang.instrument.Instrumentation;
public class DriftDetector {
private static Instrumentation instrumentation;
public static void premain(String agentArgs, Instrumentation inst) {
System.out.println("Inside premain");
instrumentation = inst;
}
public static long getObjectSize(Object o) {
return instrumentation.getObjectSize(o);
}
}
我的 manifest.mf(在 META-INF 中)
Manifest-Version: 1.0
Premain-Class: com.example.demo.DriftDetector
和我的主要课程
package com.example.demo;
import static com.example.demo.DriftDetector.getObjectSize;
public class DemoApplication {
public static void main(String[] args) {
System.out.println("Size of Long: " + getObjectSize(new Long(1L)));
}
}
创建jar的命令
mvn package
运行命令
java -javaagent:target/demo.jar -jar target/demo.jar
【问题讨论】:
标签: java javaagents