当前位置: 首页 > 知识库问答 >
问题:

如何在远程服务器上生成jacoco.exec文件

邓仲卿
2023-03-14

我正在运行一个tomcat服务器,在它 catalina.sh 中,我导出了JAVA_OPTS如下所示。

< code > JAVA _ OPTS = " $ JAVA _ OPTS-JAVA agent:/opt/jaco co/lib/jaco agent . jar = dest file =/tmp/jaco co . exec,append=true,includes=*"

这将生成jacoco。/tmp文件夹中同一台计算机中的exec文件。如何在远程机器上生成exec文件,例如一台jenkins从机,以便通过声纳获得覆盖范围。

共有1个答案

诸葛卜霸
2023-03-14

要实现这一点,您需要确保多点:

>

  • 您是否在 /opt/jacoco/lib 中的 jenkins 节点上提供了 jacoagent.jar?

    如果没有,你可以

    • [解决方案a]要么放在那里,要么基本配置正确,
    • [解决方案b]用您的代码签入它,或通过maven等加载它-因此它是您“实现”的一部分-例如,我们将它放在执行根目录中,所以我们只有javaagent:jacoagent.jar

    您需要修改日志输出< code > destfile =/tmp/jacoco . exec

    由于这是一个绝对路径,它将总是在那里生成输出,我不确定您是否可以在jenkins作业中从那里访问它

    • [解决方案A]将destfile设置为类似./build/jacoco的相对文件。exec,然后您将在jenkins上的工作区中找到它
    • [解决方案B]您只是不提供此字段,因此将其命名为jacoco。exec,并将位于执行文件夹中

    您需要根据JaCoCo与Java插件 https://docs.sonarqube.org/display/PLUG/Usage 提供此文件的路径

    我希望我能帮助:D

  •  类似资料:
    • 我试图从jacoco exec文件(在远程服务器上生成)生成jacoco代码覆盖率报告,该文件已复制到Jenkins工作区。 我的要求是在远程位置启动服务器,然后对远程服务器执行场景测试,并获得代码覆盖率。 为此,我将jacoco代理放在服务器端,然后将jacoco代理作为JVM选项连接,并在服务器端执行检测。这将在服务器启动时在服务器端自动生成一个空的jacoco exec文件。然后我执行测试并

    • 我想上传一个文件到不同的服务器使用卷曲。我读过许多类似的问题,但我没有得到任何解决我的问题。下面是我现在得到的代码: 当我运行此脚本时,它将保持运行200秒,并以以下方式响应: Sep 17 20:56:58 xxxxx vsftpd[2613]:[user]确定登录:客户端“yyyyy” Sep 17 20:56:58 xxxxx vsftpd[2618]:[用户]FTP响应:客户端“YYYYY

    • 现有的报告显示了单个模块的单元测试复盖率,但我们需要在Tomcat上提供集成、测试范围的代码复盖率。我们所做的是在Tomcat文件夹中安装jacoco代理,并将其配置为生成jacoco.exec。当我使用EclEmma插件导入Jacoco.exec时,我们看到了代码覆盖率。 有没有任何方法可以从独立的Jacoco.exec生成没有源代码的报告?

    • 我使用的是Spring Batch 2。版本我已经生成了csv文件,并能够在本地以csv格式保存。 现在我想生成相同的文件,但它将存储在SFTP服务器上。 我已经阅读了一些在sftp服务器上生成文件的教程,但它们使用的是spring与spring Batch的集成。 是否可以仅使用Spring批处理在SFTP服务器上生成文件? 下面是itemReader bean defined:: ItemWr

    • 我已经读了一些关于这个、这个和这个的文章,但我找不到答案。使用Android Studio中的Gradle插件,我无法生成jacoco文件。exec(在任何子文件夹中均不包含*.exec)。 为了生成这个文件,我必须在build.gradle文件中设置什么? 注意:请记住,我使用的是Gradle插件(这是不同的)和Android Studio。

    • 我有一个MySQL数据库存在于一个远程服务器上。我只有sql连接特权。我没有对服务器的FTP访问权限,我需要对数据库进行一次完整的转储。我试过,但问题是它在服务器上创建输出,由于我没有FTP,所以无法从服务器上获取输出。 我如何做一个干净的备份,并在我的本地机器中获得转储(当然,备份应该在我的本地机器中恢复)?