Java 用jvmti代理测试hbase

Java 用jvmti代理测试hbase,java,maven,hbase,jvmti,Java,Maven,Hbase,Jvmti,我想使用hbase的测试用例来测试它。我从这里下载了该项目,并按照说明测试该项目,该项目只是运行命令行 mvn test 到这里没有问题。我想做的是使用jvmti代理运行测试用例。代理工作得非常好,我在几个java文件上试用了它。通常,我会调用我的代理使用 java -agentpath:/path/to/agent/agent.so javaProgram 在本例中,项目使用maven,而我不擅长pom文件。我试着用 alias java="java -agentpath:/path/to

我想使用hbase的测试用例来测试它。我从这里下载了该项目,并按照说明测试该项目,该项目只是运行命令行

mvn test
到这里没有问题。我想做的是使用
jvmti代理运行测试用例。代理工作得非常好,我在几个java文件上试用了它。通常,我会调用我的代理使用

java -agentpath:/path/to/agent/agent.so javaProgram
在本例中,项目使用maven,而我不擅长pom文件。我试着用

alias java="java -agentpath:/path/to/agent/agent.so " 

但是它没有起作用。如何使用代理测试hbase?

您可以使用
maven\u OPTS
环境变量将JVM参数传递给maven:

导出MAVEN_OPTS=-agentpath:/path/to/agent.so

更通用的解决方案是使用
JAVA\u工具\u选项
环境变量


在linux上:
export JAVA\u TOOL\u OPTIONS=-agentpath:/path/to/agent.so
然后运行
mvn

我找到了几种方法来解决这个问题,您的解决方案也可以。但是,代理只收集有关maven执行的信息,而不收集正在运行的测试用例的信息。Maven调用java并为自己创建一个jvm。然后,它运行它上面的所有东西,或者创建另一个jvm来运行测试用例。因此,不需要调用代理来执行测试用例。我无法理解主要思想。AFAIK JAVA_工具_选项也将传播到“内部”测试JVM,对吗?export-AFAIK-JAVA\u-TOOL\u-OPTIONS=-agentpath:/path/to/agent.soI认为AFAIK就像一个命令:)无论如何,我在它和其他几个项目上尝试了JAVA\u-TOOL\u-OPTIONS,但还是没有用。它只是收集maven的执行信息。