我们如何在构建路径中使用 jars 执行 -javaagent?
How can we execute -javaagent with jars in the buildpath?
如何使用 class 路径中的 jar 执行 JVM 参数 -javaagent。
知道罐子的位置会有所帮助。我不想明确提及罐子的位置。感谢任何帮助。
String nameOfRunningVM = ManagementFactory.getRuntimeMXBean().getName();
int p = nameOfRunningVM.indexOf('@');
String pid = nameOfRunningVM.substring(0, p);
try {
VirtualMachine vm = VirtualMachine.attach(pid);
vm.loadAgent("LOCATION_FROM_BUILDPATH", "");
vm.detach();
} catch (Exception e) {
throw new RuntimeException(e);
}
试试下面的代码
String nameOfRunningVM = ManagementFactory.getRuntimeMXBean().getName();
int p = nameOfRunningVM.indexOf('@');
String pid = nameOfRunningVM.substring(0, p);
try {
String agentJarPath = null;
final String classPath = System.getProperty("java.class.path", ".");
final String[] classPathElements = classPath.split(System.getProperty("path.separator"));
List<String> retval = new ArrayList<String>();
for(final String element : classPathElements){
if(element.contains("<agent-jar-file-name>")){
agentJarPath = element;
break;
}
}
VirtualMachine vm = VirtualMachine.attach(pid);
vm.loadAgent(agentJarPath, "");
vm.detach();
} catch (Exception e) {
throw new RuntimeException(e);
}
如何使用 class 路径中的 jar 执行 JVM 参数 -javaagent。 知道罐子的位置会有所帮助。我不想明确提及罐子的位置。感谢任何帮助。
String nameOfRunningVM = ManagementFactory.getRuntimeMXBean().getName();
int p = nameOfRunningVM.indexOf('@');
String pid = nameOfRunningVM.substring(0, p);
try {
VirtualMachine vm = VirtualMachine.attach(pid);
vm.loadAgent("LOCATION_FROM_BUILDPATH", "");
vm.detach();
} catch (Exception e) {
throw new RuntimeException(e);
}
试试下面的代码
String nameOfRunningVM = ManagementFactory.getRuntimeMXBean().getName();
int p = nameOfRunningVM.indexOf('@');
String pid = nameOfRunningVM.substring(0, p);
try {
String agentJarPath = null;
final String classPath = System.getProperty("java.class.path", ".");
final String[] classPathElements = classPath.split(System.getProperty("path.separator"));
List<String> retval = new ArrayList<String>();
for(final String element : classPathElements){
if(element.contains("<agent-jar-file-name>")){
agentJarPath = element;
break;
}
}
VirtualMachine vm = VirtualMachine.attach(pid);
vm.loadAgent(agentJarPath, "");
vm.detach();
} catch (Exception e) {
throw new RuntimeException(e);
}