我在maven版本中配置了以下插件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>2.6</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
</plugin -->
一切似乎都正常,运行测试,Sonar占用代码覆盖率。
如果我取消对surefire插件的注释,Sonar不会占用代码覆盖范围,并且会得到一个包含以下内容的.dumpstream文件。是什么原因造成的,我该如何解决?
创建于2019-11-13T19:35:46.185警告:发生了非法的反射访问操作
创建于2019-11-13T19:35:46.193警告:com.sun.xml.bind.v2.runtime.reflect.opt.Injector非法反射访问
(文件:/ C:/Users/tgunter/.m2/repository/com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.3.0.jar) 方法 java.lang.ClassLoader.defineClass(java.lang.String,byte [],int,int)
创建于2019-11-13T19:35:46.205警告:请考虑将其报告给
的维护者com.sun.xml.bind.v2.runtime.reflect.opt.Injector
创建于2019-11-13T19:35:46.212警告:使用--illegal-access = warn启用有关进一步非法反射访问操作的警告
创建于2019-11-13T19:35:46.222警告:在将来的版本中,所有非法访问操作都将被拒绝
答案 0 :(得分:1)
您可以尝试将以下内容添加到Maven Surefire插件中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<argLine>
--illegal-access=permit
</argLine>
</configuration>
</plugin>
如果您使用的是JDK 11。