小编ves*_*sii的帖子

JaCoCo 不会在多项目的 HTML 覆盖率报告中显示源文件

我正在使用 PDE,并在 build.xml 中编译代码并尝试使用 JaCoCo 和 JUnit 创建覆盖率报告。我注意到它现在确实显示了源文件,即使我sourcefiles在. 为了调试它(因为它不打印任何错误),我尝试在本地运行它:structurejacoco:report

java -jar jacoco/jacococli.jar report /buildFiles/coverage/jacoco.exec --classfiles /buildFiles/plugins/com.gandu.da.util.test/bin/com/gandu/da/util/test/AllTests.class --sourcefiles /buildFiles/plugins/com.gandu.da.util.test/src/com/gandu/da/util/test/AllTests.java --html html_report
Run Code Online (Sandbox Code Playgroud)

但它仍然没有显示 html 文件中的源代码。在JaCoCo 官方常见问题解答中我看到:

为什么覆盖率报告不显示突出显示的源代码?确保满足以下先决条件才能在 JaCoCo 覆盖率报告中突出显示源代码:

  • 类文件必须使用调试信息进行编译以包含行号。
  • 必须在报告生成时正确提供源文件。即指定的源文件夹必须是定义 Java 包的文件夹的直接父级。

我用标志编译了代码-g以获取所有信息 - 它不起作用。另外我相信我确实按预期提供了 src/bin 文件,所以我不确定为什么它不起作用。如何让它发挥作用?

编辑:我必须提供src目录:

java -jar jacoco/jacococli.jar report /buildFiles/coverage/jacoco.exec --classfiles /buildFiles/plugins/com.gandu.da.util.test/bin/com/gandu/da/util/test/AllTests.class --sourcefiles /buildFiles/plugins/com.gandu.da.util.test/src
# WORKED!
Run Code Online (Sandbox Code Playgroud)

现在我想用我的 build.xml 解决这个问题。代码:

<jacoco:report>
    <executiondata>
        <file file="${coverage.file}"/>
    </executiondata>
    <structure name="Coverage Report">
        <classfiles>
            <fileset dir="${buildDirectory}/plugins/com.gandu.da.util.test/bin">
                <include name="**/*.class" />
            </fileset>
        </classfiles> …
Run Code Online (Sandbox Code Playgroud)

java code-coverage eclipse-pde jacoco

11
推荐指数
1
解决办法
2480
查看次数

运行配置有限制

我对如何进行代码有疑问。我的项目是在后台逐个运行配置的工具。我想为运行配置的数量增加一个限制。例如,如果我有13种配置,我想每次都运行5种配置,因此顺序为:

- Running 5 configurations
- All 5 configurations done running
- Running 5 configurations
- All 5 configurations done running
- Running 3 configurations
- All 3 configurations done running
Run Code Online (Sandbox Code Playgroud)

现在的代码如下:

public void runConfigurations(List<ConfigStruct> configurations) {
    for (ConfigStruct configuration : configurations) {
        try {
            configuration.run();
        } catch (ConfigurationException e) {
            continue;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

目前,它逐个运行每种配置。该run方法如下所示:

public void run() throws ConfigurationException {
    StringBuffer runCmd = generateGalishFullCommand(GalishFlags.RUN);
    try {
        ExternalCommandExecutor.execute(runCmd, "Failed to run " + name, true, true);
    } …
Run Code Online (Sandbox Code Playgroud)

java

10
推荐指数
1
解决办法
222
查看次数

C ++编译器不检查模板类中是否存在方法

我在中遇到了以下程序C++

template <class T>
class Val {
protected:
    T x0, x;
public:
    Val(T t = 1) : x0(t), x(1) {}
    T val() { return x; }
    void promote() { this->promote_value(); }
};
Run Code Online (Sandbox Code Playgroud)

由于某种原因,Val<int>(4).val();即使没有方法,也可以正常工作promote_value()。我试图删除模板:

class OtherVal {
protected:
    int x0, x;
public:
    OtherVal (int t = 1) : x0(t), x(1) {}
    int val() { return x; }
    void promote() { this->promote_value(); }
};
Run Code Online (Sandbox Code Playgroud)

但是现在我得到一个错误:

错误:“类OtherVal”没有名为“ promote_value”的成员;你是说“促进”吗?

为什么会这样C++表现?

c++ templates

9
推荐指数
2
解决办法
139
查看次数

MongoDB中$和$$的区别

我想知道MongoDB$$$MongoDB之间有什么区别。

例如:

    '$sum': {
        '$map': {
            'input': '$data',
            'as': 'currentData',
            'in': { '$size': '$$currentData.d' }
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果我将使用$而不是$$in 呢$$currentData.d

mongodb aggregation-framework

7
推荐指数
1
解决办法
2550
查看次数

捕获Ctrl + C信号将引发异常“作业管理器已关闭”

我正在尝试添加对信号的支持(尤其是Ctrl + C)。我的工具是用Java编写的,在Ctrl+C被捕获时我想执行清理。我的主文件是应用程序,代码如下:

if (ArgDefinitions.getInstance().hasOption(ArgNames.EXECUTE)) {
    performShutdownHooks(); 
    preformRun();
}
Run Code Online (Sandbox Code Playgroud)

应用程序解析用户的选项并运行适当的方法。因此,当用户使用该execute选项并单击时Ctrl+C,我希望程序停止并清理该区域。我添加了该performShutdownHooks方法以处理信号,它看起来如下:

private void performShutdownHooks() {
    Runtime.getRuntime().addShutdownHook(new Thread() {
        @Override
        public void run() {
            performCleanup();
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

它可以满足我的要求-如果我运行该工具并在运行时将其杀死,则它将进行清理(它在后台运行一个特殊的命令)。当我不停止时,就会出现问题。我得到以下异常:

Exception in thread "Thread-2" java.lang.IllegalStateException: Job manager has been shut down.
        at org.eclipse.core.internal.jobs.JobManager.schedule(JobManager.java:1104)
        at org.eclipse.core.internal.jobs.InternalJob.schedule(InternalJob.java:427)
        at org.eclipse.core.runtime.jobs.Job.schedule(Job.java:436)
        at glichautil.CommandExecutor.runCommandInBackground(CommandExecutor.java:134)
        at glicha.core.Application.performCleanup(Application.java:869)
        at glicha.core.Application.access$0(Application.java:838)
        at glicha.core.Application$1.run(Application.java:985)
Run Code Online (Sandbox Code Playgroud)

performShutdownHooks即使我没有试图杀死它,我也认为最后还是要跑。也许还有其他东西可以杀死它,但是不应该这样,因为如果我将方法调用注释掉performShutdownHooks(),它可以正常工作(不会抛出任何异常)。这使我相信,由于某种原因,performShutdownHooks即使没有按下,该方法仍在运行Ctrl+CperformShutdownHooks为了解决这个问题,我需要添加一些方法吗?也许我错过了一些事情addShutdownHook?如果这是对问题的正确解释,那么我认为,如果我能以某种方式使它在最后运行,那么它将解决问题。代码中使用的其他一些线程也可能被杀死,并出于某种原因执行该方法。

编辑:我认为我已经理解了它为什么这样工作。在输入我的ShutdownHooks方法之前,它将打印:

Job found still running …
Run Code Online (Sandbox Code Playgroud)

java signals shutdown-hook

7
推荐指数
1
解决办法
216
查看次数

如何使用 kubernetes-client 执行“kubectl apply”

我有一个 python 脚本,它基本上运行以下三个命令

kubectl apply -f class.yaml
kubectl apply -f rbac.yaml
kubectl apply -f deployment-arm.yaml
Run Code Online (Sandbox Code Playgroud)

我想用python写的kubernetes-client来代替。我当前的代码,加载那里的 yaml 文件(使用pyyaml),对它们进行一些编辑,插入一个文件并使用命令行 kubectl 来执行这三个命令。部分代码:

# load files, edit them and dump into new files, part ...
result = run(['kubectl', 'apply', '-f', class_file_path])
# status check part ...
result = run(['kubectl', 'apply', '-f', rbac_file_path])
# status check part ...
result = run(['kubectl', 'apply', '-f', deployment_file_path])
# status check part ...
Run Code Online (Sandbox Code Playgroud)

我想要做什么:用 python kubernetes-client 替换这三个命令。阅读文档并查看主题,我遇到了create_namespaced_deployment我认为我需要用于deployment_file_path …

python kubernetes

7
推荐指数
1
解决办法
631
查看次数

使用 OpenPose 计算视频中身体骨骼的角度

免责声明:这个问题是关于OpenPose 的,但这里的关键实际上是弄清楚如何使用输出(存储在 JSON 中的坐标)而不是如何使用 OpenPose,所以请考虑读到底。

我有一段视频,内容是一个人骑自行车的侧面(他坐着的侧面影像,这样我们就可以看到右侧)。我使用 OpenPose 来提取骨架的坐标。OpenPose 提供 JSON 文件中的坐标,如下所示(请参阅文档以获取解释):

{
  "version": 1.3,
  "people": [
    {
      "person_id": [
        -1
      ],
      "pose_keypoints_2d": [
        594.071,
        214.017,
        0.917187,
        523.639,
        216.025,
        0.797579,
        519.661,
        212.063,
        0.856948,
        539.251,
        294.394,
        0.873084,
        619.546,
        304.215,
        0.897219,
        531.424,
        221.854,
        0.694434,
        550.986,
        310.036,
        0.787151,
        625.477,
        339.436,
        0.845077,
        423.656,
        319.878,
        0.660646,
        404.111,
        321.807,
        0.650697,
        484.434,
        437.41,
        0.85125,
        404.13,
        556.854,
        0.791542,
        443.261,
        319.801,
        0.601241,
        541.241,
        370.793,
        0.921286,
        502.02,
        494.141,
        0.799306,
        592.138,
        198.429,
        0.943879,
        0,
        0,
        0,
        562.742,
        182.698, …
Run Code Online (Sandbox Code Playgroud)

python math openpose

7
推荐指数
1
解决办法
2464
查看次数

使用 Vue 和 JS 下载文件的 CSV 文件

我有一个名为的字段csvdata,其中包含以下格式的数组:

[
    [1,2,3],
    [4,5,6],
    [7,8,9]
]
Run Code Online (Sandbox Code Playgroud)

我正在尝试下载此数据的 CSV 文件。我正在使用 Vue,所以它看起来像:

<button type="button" class="btn btn-info action_btn" v-on:click="downloadCSVData">
      Download
</button>
Run Code Online (Sandbox Code Playgroud)

downloadCSVData函数应该是什么样子的?

javascript vue.js

6
推荐指数
1
解决办法
1万
查看次数

如何使用 Java 正确运行 Eclemma 覆盖

我们使用非 Java 测试。他们每个人都执行我们用 Java 编写的工具。我正在尝试使用 Eclemma 来创建测试的覆盖率报告。让我们从一项测试开始。我们用build.xml. 我想以某种方式为每个测试创建一个覆盖率报告,然后将它们合并到一个主报告中。我发现Jacoco 有我可以用来合并这些报告的CMD 界面。但我不明白如何使用覆盖包运行该工具?

  1. 我应该使用哪个覆盖包?是 Eclemma 还是 Jacoco?
  2. 如何使用覆盖包运行该工具?我应该将它添加到 build.xml 文件中吗?我应该将它添加到命令行吗?

我对 Java 覆盖的整个概念有点困惑。在诸如 Python 和 Perl 之类的动态语言中,我只是使用覆盖率模块执行代码,它会创建覆盖率报告。

我们用来执行工具的命令:

gandu -vm /usr/pkgs/java/1.6.0.25-64/bin/java -configuration /.ganduData -data /.ganduData -configuration /ganduInternalConfig --session_id 1582722179
Run Code Online (Sandbox Code Playgroud)

我应该添加一些选项吗?

内置build.xml

<target name="pde-build" depends="clean, init">
    <java classname="org.eclipse.equinox.launcher.Main" fork="true" failonerror="true">
        <arg value="-application" />
        <arg value="org.eclipse.ant.core.antRunner" />
        <arg value="-buildfile" />
        <arg value="${eclipseLocation}/plugins/org.eclipse.pde.build_${pdeBuildPluginVersion}/scripts/productBuild/productBuild.xml" />
        <arg value="-Dtimestamp=${timestamp}" />
        <classpath>
            <pathelement location="${eclipseLocation}/plugins/org.eclipse.equinox.launcher_${equinoxLauncherPluginVersion}.jar" />
        </classpath>
    </java>
</target>
Run Code Online (Sandbox Code Playgroud)

我应该添加以下命令吗?

<arg value="-autVMArgs" /> …
Run Code Online (Sandbox Code Playgroud)

java code-coverage jacoco eclemma

6
推荐指数
1
解决办法
919
查看次数

如何使用 vuetify 将扩展搜索图标添加到文本框中?

我最近开始在我的 RTL 项目(用 Vue 2 编写)中使用 vuetifyjs。我在卡片中添加了一个表格,并添加了文档中显示的搜索栏。我正在尝试做两件事:

\n
    \n
  1. 将“要显示的项目数”选项从页脚移动到顶部。
  2. \n
  3. 使搜索栏可以从图标中消失。
  4. \n
\n

基本上:

\n

在此输入图像描述

\n

对于第一种情况,我在文档中找不到执行此操作的方法。对于第二种情况,我试图实现此输出:

\n

在此输入图像描述

\n

我也尝试查看文档,但找不到执行此操作的方法。我还遇到了这篇文章:Expand Searchbar with Search icon as well as show close icon onclick using Javascript

\n

我当前的代码:

\n
<div>\n  <v-card>\n    <v-card-title>\n      <v-text-field\n        v-model="searchText"\n        append-icon="mdi-magnify"\n        label="\xd7\x97\xd7\x99\xd7\xa4\xd7\x95\xd7\xa9"\n        single-line\n        hide-details\n      ></v-text-field>\n    </v-card-title>\n    <v-data-table\n      class="elevation-1"\n      :headers="headers"\n      :items="items"\n      :items-per-page="itemsPerPage"\n      :footer-props="settings"\n    >\n    </v-data-table>\n  </v-card>\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n

在哪里:

\n
settings: {\n \'items-per-page-options\': [10, 25, 50, 100],\n \'items-per-page-text\': \'\xd7\xa1\xd7\x94\xd7\x9b\'\n},\nitemsPerPage: 10\n
Run Code Online (Sandbox Code Playgroud)\n

使用 vuetify 可以实现这一点吗?

\n

javascript vue.js vuetify.js

6
推荐指数
1
解决办法
1524
查看次数