2016-07-26 69 views
1

當我嘗試使用IBM JDK運行簡單的jMockit/JUnit測試時,出現以下異常。JVMJ9VM007E命令行選項無法識別:-javaagent

java.lang.ExceptionInInitializerError 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:222) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:167) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:167) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:167) 
    at com.chubb.prssearchpolicy.test.PRSSearchPolicyResourceTest.init(PRSSearchPolicyResourceTest.java:47) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
    at java.lang.reflect.Method.invoke(Method.java:611) 
    at org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.java:74) 
    at org.junit.internal.runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.java:50) 
    at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:33) 
    at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75) 
    at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45) 
    at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66) 
    at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35) 
    at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42) 
    at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) 
    at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
Caused by: java.lang.RuntimeException: com.sun.tools.attach.AttachNotSupportedException: Unable to enqueue operation: the target VM does not support attach mechanism 
    at mockit.internal.startup.AgentLoader.attachToRunningVM(AgentLoader.java:136) 
    at mockit.internal.startup.AgentLoader.loadAgent(AgentLoader.java:53) 
    at mockit.internal.startup.Startup.verifyInitialization(Startup.java:172) 
    at mockit.Invocations.<clinit>(Invocations.java:26) 
    at java.lang.J9VMInternals.initializeImpl(Native Method) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) 
    ... 24 more 
Caused by: com.sun.tools.attach.AttachNotSupportedException: Unable to enqueue operation: the target VM does not support attach mechanism 
    at sun.tools.attach.WindowsVirtualMachine.<init>(WindowsVirtualMachine.java:64) 
    at sun.tools.attach.WindowsAttachProvider.attachVirtualMachine(WindowsAttachProvider.java:64) 
    at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213) 
    at mockit.internal.startup.AgentLoader.attachToRunningVM(AgentLoader.java:133) 
    ... 29 more 

爲此,我通過在運行配置VM參數,但得到以下錯誤:

JVMJ9VM007E命令行選項無法識別:-javaagent = C:\ Users \用戶的junit \ jmockit.jar

有沒有人遇到過這個問題?響應將不勝感激。

回答

0

你可以嘗試添加以下參數-Dcom.ibm.tools.attach.enable = YES也jdk的文件的tools.jar應該在你的classpath

也請看看這個帖子裏面驚人的相似給你。根據接受的答案,在其中一個分發版中存在一個錯誤,它需要在類路徑中有TestNG作爲解決方法。 AttachNotSupportedException while running jMockit tests on IBM JRE

相關問題