使用Java11和Maven,尽量避免jacoco和surefire退出错误,并在Mac上运行jacoco测试覆盖率

使用Java11和Maven,尽量避免jacoco和surefire退出错误,并在Mac上运行jacoco测试覆盖率,java,maven,java-11,maven-surefire-plugin,jacoco-maven-plugin,Java,Maven,Java 11,Maven Surefire Plugin,Jacoco Maven Plugin,这似乎与Mac、Java11有关。我试图以Java8的形式运行源代码和目标,但我的运行时是Java11 Java HotSpot(TM)64位服务器VM 18.9(构建11.0.6+8-LTS,混合模式) Apache Maven 3.5.3(3383C37E1F9E9B3BC3DF505C29C8AFF9F295297;2018-02-24T14:49:05-05:00) Maven主页:/Users/user/Documents/tools/apache-Maven-3.5.3 Java版本

这似乎与Mac、Java11有关。我试图以Java8的形式运行源代码和目标,但我的运行时是Java11

Java HotSpot(TM)64位服务器VM 18.9(构建11.0.6+8-LTS,混合模式)

Apache Maven 3.5.3(3383C37E1F9E9B3BC3DF505C29C8AFF9F295297;2018-02-24T14:49:05-05:00) Maven主页:/Users/user/Documents/tools/apache-Maven-3.5.3 Java版本:11.0.6,供应商:Oracle公司 Java主页:/Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Ho

与Jacoco的问题

现在使用这种配置,我无法运行jacoco

错误是:由于缺少执行数据文件,正在跳过JaCoCo执行

出现Surefire错误的问题

我还必须将其放在pom.xml中,以避免下面的错误

添加了代码片段

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <!-- Remove snippet below, fix jacoco?  But get jdk11 error? -->
    <version>2.21.0</version>
    <configuration>
        <forkCount>3</forkCount>
        <reuseForks>true</reuseForks>
        <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
    </configuration>
</plugin>
所以我试着运行jacoco、java11和surefire,没有错误

配置:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven-clean-plugin-version>2.5</maven-clean-plugin-version>
    <maven-compiler-plugin-version>3.3</maven-compiler-plugin-version>
    <maven-dependency-plugin-version>2.8</maven-dependency-plugin-version>
    <maven-install-plugin-version>2.4</maven-install-plugin-version>
    <maven-jar-plugin-version>2.4</maven-jar-plugin-version>
    <maven-resources-plugin-version>2.6</maven-resources-plugin-version>
    <maven-surefire-plugin-version>2.12.4</maven-surefire-plugin-version>
    <maven-war-plugin-version>2.2</maven-war-plugin-version>
    <maven-ear-plugin-version>2.8</maven-ear-plugin-version>
    <java.source.version>1.8</java.source.version>
    <java.target.version>1.8</java.target.version>
    <org.springframework.version>4.3.8.RELEASE</org.springframework.version>
    <jacoco.version>0.7.9</jacoco.version>
    <jackson.version>2.11.2</jackson.version>
</properties>

UTF-8
2.5
3.3
2.8
2.4
2.4
2.6
2.12.4
2.2
2.8
1.8
1.8
4.3.8.1发布
0.7.9
2.11.2

杰科科

 <plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>${jacoco.version}</version>
    <executions>
        <execution>
            <id>prepare-agent</id>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
        <execution>
            <id>report</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
        <execution>
            <id>post-unit-test</id>
            <phase>test</phase>
            <goals>
                <goal>report</goal>
            </goals>
            <configuration>
                <dataFile>target/jacoco.exec</dataFile>
                <outputDirectory>target/jacoco-ut</outputDirectory>
            </configuration>
        </execution>
    </executions>
    <configuration>
        <excludes>
        </excludes>
    </configuration>
</plugin>

org.jacoco
jacocomaven插件
${jacoco.version}
配制剂
配制剂
报告
准备包装
报告
单元后测试
测试
报告
target/jacoco.exec
目标/jacoco ut

在这一行,我想添加:-Xmx1024m-XX:MaxPermSize=256m${argLine}但是没有帮助如果你用一个执行文件满足Jacoco的要求,你会得到另一个错误吗?我强烈要求升级你正在使用的所有插件以及Maven本身,还有Jacoco..我会支持上面的评论,除非你升级jacoco和surefire插件,否则你将得不到什么帮助。让我尝试升级。另外,什么是执行文件以及如何创建它
 <plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>${jacoco.version}</version>
    <executions>
        <execution>
            <id>prepare-agent</id>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
        <execution>
            <id>report</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
        <execution>
            <id>post-unit-test</id>
            <phase>test</phase>
            <goals>
                <goal>report</goal>
            </goals>
            <configuration>
                <dataFile>target/jacoco.exec</dataFile>
                <outputDirectory>target/jacoco-ut</outputDirectory>
            </configuration>
        </execution>
    </executions>
    <configuration>
        <excludes>
        </excludes>
    </configuration>
</plugin>