Emi*_*dde 10 java kotlin gradlew ipfs
我正在尝试运行从这里提供的 kotlin 代码的测试:https : //github.com/ligi/ipfs-api-kotlin with gradlew
我收到下面列出的错误。有人能告诉我这个错误是什么意思吗?
> Task :test FAILED
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
FATAL ERROR in native method: processing of -javaagent failed, processJavaStart failed
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:525)
Caused by: java.lang.RuntimeException: Class java/lang/UnknownError could not be instrumented.
at org.jacoco.agent.rt.internal_c13123e.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:140)
at org.jacoco.agent.rt.internal_c13123e.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:101)
at org.jacoco.agent.rt.internal_c13123e.PreMain.createRuntime(PreMain.java:55)
at org.jacoco.agent.rt.internal_c13123e.PreMain.premain(PreMain.java:47)
... 6 more
Caused by: java.lang.NoSuchFieldException: $jacocoAccess
at java.base/java.lang.Class.getField(Class.java:1999)
at org.jacoco.agent.rt.internal_c13123e.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:138)
... 9 more
*** java.lang.instrument ASSERTION FAILED ***: "result" with message agent load/premain call failed at line: 422
Run Code Online (Sandbox Code Playgroud)
我在 build.gradle 中遗漏了以下内容:
jacoco {
toolVersion = "0.8.6"
}
Run Code Online (Sandbox Code Playgroud)
虽然很明显,但 build.gradle 可以从其他 gradle 文件继承属性,并且由于我无法弄清楚的原因,jacoco它传递到一个子项目而不是另一个子项目。
修复了此错误,将我的项目中的 Java SDK 从 14 更改为 11,并且我的测试开始正常工作。
解决方案:IntellijIDEA:文件>项目结构>项目选项卡> SDK采用-opendjdk-11(在我的情况下是Ubuntu)。
希望能帮助那里的人。
确保您使用的是JDK-11,如果使用maven,请确保;
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
Run Code Online (Sandbox Code Playgroud)
确保您使用的是最新的 jacoco。
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.4</version>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7928 次 |
| 最近记录: |