您的位置:首页 > 其它

IDEA 上 使用Junit+Coverage(覆盖率)报错

2017-07-27 19:43 393 查看

摘要

之前用idea写junit 查看代码覆盖率的时候遇到的问题.

java.lang.reflect.InvocationTargetException…FATAL ERROR in native method: processing of -javaagent failed

看完之后一脸蒙蔽。。。。好在问题解决了,记录一下解决方法。

遇到问题详细

stack如下

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.coverage.main.CoveragePremain.premain(CoveragePremain.java:66)
... 6 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at com.intellij.rt.coverage.instrumentation.Instrumentator.premain(Instrumentator.java:64)
... 11 more
FATAL ERROR in native method: processing of -javaagent failed

Process finished with exit code 1
Exception in thread "main"


解决

先看一下你自己idea.exe 的位置,这是我的
E:\IntelliJ IDEA\IntelliJ IDEA 2016.1.1\bin




找到
idea.exe.vmoptions
这个文件



记事本打开最后加入一行
-Djava.io.tmpdir=F:\Temp
,这里要注意
F:\Temp
是随意写的目录,但一定要保证它存在



重新打卡IDEA 在运行就可以啦。



参考

https://youtrack.jetbrains.com/issue/IDEABKL-5941

关于如何配置

https://www.evget.com/article/2013/9/11/19595.html 额,版本有点老,不过差不多懒得写了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  idea junit coverage