jmockit の Maven テストまたは Maven Surefire テストを実行しようとすると、以下のエラーが発生します。しかし、junit または testng を実行すると、正常に動作します。
java.lang.RuntimeException: java.io.IOException: Unable to enqueue operation, pre-6.0 jvm.dll? mockit.internal.startup.JDK6AgentLoader.loadAgentAndDetachFromThisVM(JDK6AgentLoader.java: 111) で org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:111) で 原因: java.io.IOException: エンキューできません操作、6.0 より前の jvm.dll? sun.tools.attach.WindowsVirtualMachine.enqueue(Native Method)で sun.tools.attach.WindowsVirtualMachine.execute(WindowsVirtualMachine.java: 77)で sun.tools.attach.HotSpotVirtualMachine.loadAgentLibrary(HotSpotVirtualMachine.java: 53)で
上記は、maven 2.2 で実行したときに発生するエラーです。
私が使用している環境: Maven: 2.2.1 JMockit: 0.999.11 pom に以下を追加:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<configuration>
<forkMode>once</forkMode>
<argLine>-javaagent:"${settings.localRepository}"/com/googlecode/
jmockit/jmockit/0.999.11/jmockit-0.999.11.jar</argLine>
<useSystemClassloader>true</useSystemClassloader>
</configuration>
</plugin>
Java: IBM Java 1.6 SR4
しかし、javaagent パスを junit または testng ランタイム vm args に追加すると、正常に動作します。しかし、maven test vm args にも追加しようとしましたが、機能しませんでした。
これについて私を助けてください。
前もって感謝します。-スリナート