Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 附加API的本机库在此JRE中不可用_Java_Junit_Gradle_Jmock - Fatal编程技术网

Java 附加API的本机库在此JRE中不可用

Java 附加API的本机库在此JRE中不可用,java,junit,gradle,jmock,Java,Junit,Gradle,Jmock,我正试图用gradle、junit和jmock构建一个新项目。当我运行构建时,我得到以下堆栈跟踪: com.heavyweightsoftware.daybook.ws.TypeCodeWsTest STANDARD_ERROR java.lang.IllegalStateException: Native library for Attach API not available in this JRE at org.gradle.api.internal.tasks.

我正试图用gradle、junit和jmock构建一个新项目。当我运行构建时,我得到以下堆栈跟踪:

com.heavyweightsoftware.daybook.ws.TypeCodeWsTest STANDARD_ERROR
    java.lang.IllegalStateException: Native library for Attach API not available
 in this JRE
        at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.ru
nTestClass(JUnitTestClassExecuter.java:80)
        at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.ex
ecute(JUnitTestClassExecuter.java:49)
        at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.p
rocessTestClass(JUnitTestClassProcessor.java:64)
        at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.process
TestClass(SuiteTestClassProcessor.java:50)
        at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionD
ispatch.java:35)
        at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionD
ispatch.java:24)
        at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(Con
textClassLoaderDispatch.java:32)
        at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocat
ionHandler.invoke(ProxyDispatchAdapter.java:93)
        at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestCl
ass(TestWorker.java:106)
        at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionD
ispatch.java:35)
        at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionD
ispatch.java:24)
        at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(Messa
geHub.java:360)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.
onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableE
xecutorImpl.java:40)
    Caused by: java.lang.UnsatisfiedLinkError: no attach in java.library.path
        ... 14 more
Gradle Test Executor 1 finished executing tests.

com.heavyweightsoftware.daybook.ws.TypeCodeWsTest > testGetTypeCodes FAILED
    java.lang.ExceptionInInitializerError
        at com.heavyweightsoftware.daybook.ws.TypeCodeWsTest.testGetTypeCodes(Ty
peCodeWsTest.java:40)

        Caused by:
        java.lang.IllegalStateException: Native library for Attach API not avail
able in this JRE
            at mockit.internal.startup.AgentLoader.getVirtualMachineImplementati
onFromEmbeddedOnes(AgentLoader.java:78)
            at mockit.internal.startup.AgentLoader.loadAgent(AgentLoader.java:46
)
            at mockit.internal.startup.Startup.verifyInitialization(Startup.java
:172)
            at mockit.Invocations.<clinit>(Invocations.java:26)
            ... 1 more

            Caused by:
            java.lang.NoClassDefFoundError: Could not initialize class sun.tools
.attach.WindowsVirtualMachine
                at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
 Method)
                at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
 Source)
                at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unk
nown Source)
                at java.lang.reflect.Constructor.newInstance(Unknown Source)
                at mockit.internal.startup.AgentLoader.getVirtualMachineImplemen
tationFromEmbeddedOnes(AgentLoader.java:70)
                ... 4 more
这是gradle构建的一部分--信息:

这告诉我它是从c:\java\bin运行java的,这是正确的安装。我看了一下,这个directer里面有javac,我想这证实了它是JDK而不是JRE


任何输入,哦,明智的还是明智的?

我将c:\java\jre\bin添加到我的路径中,构建再次开始工作

C:\Users\thom\git\daybook\WebServices>java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
Executing task ':test' (up-to-date check took 0.193 secs) due to:
  Value of input property 'candidateClassFiles' has changed for task ':test'
Starting process 'Gradle Test Executor 1'. Working directory: C:\Users\thom\git\
daybook\WebServices Command: C:\java\bin\java.exe -Djava.security.manager=jarjar
.org.gradle.process.internal.child.BootstrapSecurityManager -Dfile.encoding=wind
ows-1252 -Duser.country=US -Duser.language=en -Duser.variant -ea -cp C:\Users\th
om\.gradle\caches\2.4\workerMain\gradle-worker.jar jarjar.org.gradle.process.int
ernal.launcher.GradleWorkerMain 'Gradle Test Executor 1'
Successfully started process 'Gradle Test Executor 1'
Gradle Test Executor 1 started executing tests.