JaCoCo:缺少类目录

2024-02-06

我对 JaCoCo 相当陌生,在生成代码覆盖率报告时遇到问题。

这是我的项目结构:

我的集成测试位于“...-integration-tests”模块中。当我使用 mvn 构建项目时,我在日志记录中收到以下内容:

[INFO] Skipping JaCoCo execution due to missing classes directory: ...-integration-tests\target\classes

这是真的,因为我编译的代码仅在相应模块的 target>classes 中可用。

使其发挥作用的最佳方法是什么?提前致谢!


发生这种情况是因为 JaCoCo“报告”mojo 试图在“默认”maven 项目布局中查找源和类:

@Override
boolean canGenerateReportRegardingClassesDirectory() {
    return new File(getProject().getBuild().getOutputDirectory()).exists();
}

具有与您类似的布局,我能够通过显式设置来规避 JaCoCo 配置限制构建源目录 and 构建.输出目录指向您测试的模块的内部结构。之后,maven 尝试第二次编译它,所以我也不得不覆盖默认编译执行,我的测试模块 pom.xml 的重要(且可共享)部分现在如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<project ...
...
    <parent>
...
    </parent>

    <dependencies>
...
    </dependencies>

    <properties>
...
    </properties>

    <build>
        <sourceDirectory>../../Source</sourceDirectory> <!-- tested sources root, in proper layout: src/main/java -->
        <outputDirectory>../bin</outputDirectory> <!-- tested classes root, in proper layout: target/classes -->

        <testSourceDirectory>${project.basedir}/../../Test/java</testSourceDirectory> <!-- if tests code also taken from outside -->

        <testResources>
            ...
        </testResources>

        <plugins>
...
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <executions>
                    <!-- disabling default-compile -->
                    <execution>
                        <id>default-compile</id>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <phase>compile</phase>
                        <configuration>
                            <source>1.7</source>
                            <target>1.7</target>
                            <includes/>
                            <excludes>
                                <exclude>**/*.java</exclude>
                            </excludes>
                        </configuration>
                    </execution>
...
                </executions>
            </plugin>

            <!-- typical jacoco usage -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.surefire</groupId>
                        <artifactId>surefire-junit4</artifactId>
                        <version>2.10</version>
                    </dependency>
                </dependencies>
                <configuration>
...
                    <argLine>${argLine} -XX:PermSize=512M -XX:MaxPermSize=512M -Xmx1024M</argLine>
...
                    <forkCount>1</forkCount>
                    <reuseForks>true</reuseForks>
                </configuration>
                <executions>
...
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JaCoCo:缺少类目录 的相关文章

  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 缺少依赖项 hive-builtins 会导致 Oozie 构建失败,错误代码为 410

    我尝试从源代码构建 oozie 但安装失败 我想安装 oozie 并热切地等待使用它 我在这个阶段失败了 当我从 oozie 3 3 3 目录给出 cmd 时 bin mkdistro sh DskipTests 我收到这个错误 INFO
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • Eclipse 启动时崩溃;退出代码=13

    I am trying to work with Eclipse Helios on my x64 machine Im pretty sure now that this problem could occur with any ecli
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db

随机推荐

  • Google Play 商店“您的设备与此版本不兼容”[重复]

    这个问题在这里已经有答案了 我看到很多关于这个问题的问题 但没有明确的答案 我们是一家应用程序开发公司 最近在 Google Play 商店上推出了 2 个新应用程序 我们在索尼爱立信手机操作系统 2 3 4 上测试了这些应用程序 并在 M
  • 为运行 python 脚本指定带空格的参数

    如何使用包含空格的参数运行 python 我正在使用 MacOS 例如 gt python testProgram py argument 1 argument 2 其中 参数 1 是单个参数 其中 参数 1 是单个参数 你基本上已经回答了
  • 多线程时 cv2 图像显示不起作用

    我试图在捕获网络摄像头时将图像显示在屏幕上 我使用的是 MAC 因此 我启动了两个线程 一个用于捕获视频 另一个用于在屏幕上呈现图像 webcam thread self init webcam thread images thread s
  • 从 setup.py 安装依赖项

    我想知道除了 deb 包之外 是否可以在我的 setup py 中配置我的包的依赖项 然后运行 sudo python setup py install 它们是自动安装的 已经在互联网上进行了研究 但我发现的一切都让我感到困惑 比如 req
  • 在 iOS Sprite Kit 游戏中创建关卡

    我正在创建一个游戏 我希望它有一个可以选择关卡的场景 然后有可以玩的关卡 我只是想知道当用户达到该级别时如何创建级别并保存 我正在考虑在 ViewController h 中创建一个 BOOL 并在每个场景中调用它 即 LevelCompl
  • 如何在 pytorch 中使用可学习参数,限制在 0 和 1 之间?

    我想使用一个仅取 0 到 1 之间值的可学习参数 我如何在 pytorch 中做到这一点 目前我正在使用 self beta Parameter torch Tensor 1 initialize zeros self beta 但当我训练
  • 无法删除 Solr 键

    从 Solr 文件集合中删除键时遇到问题 使用以下命令更新 Solr 集合
  • IP允许子目录访问NGINX

    我实际上使用 nginx 作为我的网络服务器 我试图使用以下命令拒绝所有子目录访问 location root usr share nginx html project index index html index htm index ph
  • 复合 if 语句更快,还是多个 if 语句更快?

    假设我们有两段代码 if foo True and bar False and baz True do something and if foo True if bar False if baz True do something 哪个更快
  • Eclipse 中的 Android 错误:“无法执行 dex:无法将新索引 65799 合并到非巨型指令中!”

    我正在尝试使用 Eclipse 使用 OpenSAML 的 Android 项目 我已在构建路径中添加了所有必需的 jar 文件 现在 当我将程序作为 Android 应用程序运行时 会出现以下错误 2012 11 18 11 52 59
  • 将 SHA-256 与 NodeJS 加密结合使用

    我正在尝试对 NodeJS 中的变量进行哈希处理 如下所示 var crypto require crypto var hash crypto createHash sha256 var code bacon code hash updat
  • 明显死锁 c3p0 0.9.5.1 弹簧

    我们在使用 c3p0 0 9 5 1 这是 c3p0 的最新版本 时面临明显的死锁 以下是我们正在使用的连接池配置 p driverClass app jdbc driverClassReplica p jdbcUrl jdbc mysql
  • EF7 在运行时更改连接字符串

    在 EF 的早期版本中 我们能够更改 dbcontext 连接字符串 如下所示 context Database Connection ConnectionString the new connectionstring 我们如何使用 EF7
  • 在 .Select lambda 中使用 async/await

    我正在使用 Asp Net Core Identity 并尝试简化一些投影用户列表的代码以及他们的角色到视图模型 这段代码可以工作 但是在试图简化它的过程中 我陷入了错误和好奇心的疯狂螺旋中 这是我的工作代码 var allUsers us
  • Selenium Chrome 驱动程序无法解析 getElementRegion 的值

    使用 chrome 驱动程序运行我的 selenium 测试时 我从 chrome 驱动程序中收到以下错误 测试在firefox下运行良好 未知错误 无法解析 getElementRegion 的值 这是代码 尝试单击提交按钮时失败 我正在
  • 将 UserControl 转换为自定义控件

    下面的 UserControl 效果很好 但我想让更改样式变得更容易 我尝试过的一件事是将其转换为自定义控件 但我停留在基础知识上 例如如何在处理属性更改的静态方法中设置工具提示 见下文 我尝试将样式移动到 ResourceDictiona
  • Qt formlayout 不垂直扩展 qplaintextedit

    我很困惑为什么Q纯文本编辑添加到窗口小部件时不会垂直调整大小QForm布局 在下面的代码中 文本字段可以正确地水平缩放 但不会垂直缩放 任何人都可以解释这种行为并提供解决方案吗 我已经尝试了所有我知道的技巧 但没有成功 from PyQt4
  • 操作导致超出Core配额限制。允许的最大数量:4,当前使用的数量:4,额外要求的数量:4。在 14 天免费试用期间

    我正在使用 14 天高级免费试用版 我正在尝试在 databricks 中创建并运行集群 我正在遵循快速入门指南 我如何收到以下错误 操作导致超出核心配额限制 允许的最大数量 4 当前使用的数量 4 额外请求的数量 4 我无法提高限制 因为
  • 在C中将格式化文件读取到char数组中

    我有一个非常简单的问题 我需要将文件的内容读入 C 中的字符数组中 该文件将始终格式化为两列字母 例如 A B B C E X C D 每个字母代表图形上的一个顶点 我稍后将处理它 我学习过使用 C 和 Java 进行编程 但我对 C 并不
  • JaCoCo:缺少类目录

    我对 JaCoCo 相当陌生 在生成代码覆盖率报告时遇到问题 这是我的项目结构 我的集成测试位于 integration tests 模块中 当我使用 mvn 构建项目时 我在日志记录中收到以下内容 INFO Skipping JaCoCo