2

我在我的 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 的非法反射访问

(file:/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 警告:所有非法访问操作将在未来版本中被拒绝

4

1 回答 1

4

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

于 2019-11-14T02:40:11.703 回答