Knime:从 Java 应用程序调用 Knime 工作流

Knime: Invoking Knime workflow from Java application

我尝试在批处理模式下调用 knime 工作流

String btchtrendcheck ="E:\KNIME\knime.exe -application org.knime.product.KNIME_BATCH_APPLICATION -consoleLog -reset -workflowFile=\"C:\Users\Jana\Desktop\KNIMETrend.zip\""

String trendtest = "E:\KNIME\knime.exe -application org.knime.product.KNIME_APPLICATION";

但是我收到一个错误:java was started but returned exit code=3(附上错误),即使点击确定,工作流程也没有执行。

工作流程没有错误。

问题:
1. exit code=3是什么意思?
2. knime兼容性有问题吗?

您是否尝试使用 -consoleLog -noexit -nosplash 选项?

据此: https://tech.knime.org/faq#q12

看来它们是必要的。

如果您 运行 命令没有选项,例如 eclipsec.exe -consoleLog -noexit -nosplash -launcher.suppressErrors -application org.knime.product.KNIME_BATCH_APPLICATION

然后您将看到可用选项列表和 java return 代码。 return代码3表示when an error occurs during loading a workflow,4表示if an error during execution occurred.

最有可能的是,您需要在 KNIME 桌面中打开工作流,检查错误,重置工作流并再次保存,因为加载过程中的错误(例如部分执行的循环选择一个常见的循环)可能会导致此问题.然后尝试在 KNIME 桌面中重新加载工作流,并检查在控制台期间没有记录加载期间的错误。 此外,添加选项 --launcher.suppressErrors 有时可以避免此类问题。

如果您提供 -consoleLog 选项,则会出现第二个 window,其中包含更详细的输出来解释错误。 对于错误代码 3,这可能是因为工作流在 GUI 环境中打开(因此被锁定)。 如果出现错误代码 4,可能是因为找不到 class。

你 运行 Knime 进程是循环的吗?因为 Knime 不能同时 运行 相同的工作流程。 如果是,则必须终止前面的工作流程。