我知道如何忽略在自己的.java文件中定义的类,但不知道如何忽略内部类。例如,我有 A 类和嵌套的 B 类:class A { ... static class B { ... }}jacocoTestReport当我想使用jacoco.gradle此语法忽略文件中的它们时,不断检查覆盖范围:(setFrom部分适用于 Gradle 的更高版本,其中classDirectories = files()已弃用)apply plugin: "jacoco"jacoco { toolVersion = "0.8.3"}jacocoTestReport { afterEvaluate { classDirectories.setFrom(files(classDirectories.files.collect { fileTree(dir: it, exclude: [ "com/example/xxx/*", "com/example/xxx/A\$.*B*" ]) })) }}($必须转义,而在帖子中则不需要,因为当我使用Gradle时他使用Maven)那么,我怎样才能忽略这个内部类呢?
1 回答
开满天机
TA贡献1786条经验 获得超13个赞
经过多次尝试和失败,我终于找到了答案。似乎命名模式遵循已编译的 Java 类命名约定,如另一篇文章中提到的,并且不需要.
外部类和内部类之间的命名。所以,它应该是这样的A$B
。而且,可能会有一些.class
干扰(我的猜测),所以我添加了A$B*
(对于其他普通类,*
不需要最后一个)。
所以就变成了:
"com/example/xxx/A\$B*"
我希望有一些关于这种排除模式的文档。目前还没有。
添加回答
举报
0/150
提交
取消