万无一失的插件输出:"WARNING: An illegal reflective access operation has occurred"



我在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.ot.Injector进行非法反射访问

(文件:/C:/Users/tgunter/.m2/repository.com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.30.jar(to方法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警告:使用--非法访问=警告以启用对进一步非法反射访问操作的警告

创建于2019-11-13T19:35:46.222警告:所有非法访问操作将在未来版本中被拒绝

您可以尝试将以下内容添加到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。

最新更新