栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

jacoco:不能排除类

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jacoco:不能排除类

物业

excludes
report
目标指定哪些文件应该从分析产生报告时被排除在外。如果
/path/tp/my/project/target/classes/meta-INF/bundled-dependencies/some-third-party-1-jar-with-dependencies.jar@org/slf4j/event/EventConstants.class
文件是
/path/tp/my/project/target/classes/meta-INF/bundled-dependencies/some-third-party-1-jar-with-dependencies.jar
,其余的关于JAR文件中的类。

因此,作为正确配置的示例之一:

<configuration>  <excludes>    <exclude>meta-INF/**</exclude>  </excludes></configuration>

作为证明

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>org.example</groupId>  <artifactId>example</artifactId>  <version>1.0-SNAPSHOT</version>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  </properties>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.12</version>      <scope>test</scope>    </dependency>  </dependencies>  <build>    <plugins>      <plugin>        <groupId>org.jacoco</groupId>        <artifactId>jacoco-maven-plugin</artifactId>        <version>0.8.1</version>      </plugin>    </plugins>  </build></project>

src/main/java/Example.java

public class Example {}

src/test/java/ExampleTest.java

public class ExampleTest {  @org.junit.Test  public void test() {  }}

执行

mvn clean jacoco:prepare-agent packagemkdir target/classes/meta-INF/cp ~/.m2/repository/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.jar target/classescp ~/.m2/repository/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar target/classes/meta-INFmvn jacoco:report

将失败并显示消息

Error while analyzing /private/tmp/j/target/classes/slf4j-api-1.4.2.jar@org/slf4j/helpers/BasicMarker.class. Can't add different class with same name: org/slf4j/helpers/BasicMarker

同时执行

pom.xml
包含排除
meta-INF/**

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>org.example</groupId>  <artifactId>example</artifactId>  <version>1.0-SNAPSHOT</version>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  </properties>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.12</version>      <scope>test</scope>    </dependency>  </dependencies>  <build>    <plugins>      <plugin>        <groupId>org.jacoco</groupId>        <artifactId>jacoco-maven-plugin</artifactId>        <version>0.8.1</version>        <configuration>          <excludes> <exclude>meta-INF/**</exclude>          </excludes>        </configuration>      </plugin>    </plugins>  </build></project>

将会成功。

附带说明:目标属性

excludes
的语义
prepare-agent
是不同的
-它指定了类名(无论其在磁盘上的位置如何),在执行测试期间应从工具中排除该类名。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/569498.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号