2014-03-24 96 views
0

我想用它的測試用例測試hbase。我從這個link下載的項目,並依照指示測試的項目,這簡直就是在命令行運行用jvmti代理測試hbase

mvn test 

是沒有問題了這裏。我想要做的就是用jvmti agent運行測試用例。該代理工作得很好,我嘗試了幾個java文件。通常情況下,我打電話給我的經紀人使用

java -agentpath:/path/to/agent/agent.so javaProgram 

在這種情況下,以測試Java文件,該項目使用Maven,我不擅長POM文件。我試圖用

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

但它沒有炒鍋。我如何用我的代理測試hbase?

回答

1

您可以通過JVM參數使用MAVEN_OPTS環境變量到Maven:

export MAVEN_OPTS=-agentpath:/path/to/agent.so

一個更通用的解決方案是使用JAVA_TOOL_OPTIONS環境變量。

在Linux上:export JAVA_TOOL_OPTIONS=-agentpath:/path/to/agent.so然後運行mvn

+0

我發現了幾個方法來解決這個問題,您的解決方案正常工作。但是,代理只收集關於maven執行的信息,而不是正在運行的測試用例。 Maven調用java併爲它自己創建一個jvm。然後,它運行一切,或者創建另一個jvm來運行測試用例。所以,代理不會被要求執行測試用例。我無法得到主要想法。 – genclik27

+0

AFAIK JAVA_TOOL_OPTIONS也將傳播到「內部」測試jvms以及 –

+0

相同的方法嗎?導出AFAIK JAVA_TOOL_OPTIONS = -agentpath:/path/to/agent.so – genclik27