使用Java11和Maven,尽量避免jacoco和surefire退出错误,并在Mac上运行jacoco测试覆盖率
这似乎与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中,以避免下面的错误 添加了代码片段使用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版本
<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>