mlcp、gradle、日志记录和(可能)代理问题

mlcp, gradle, logging, and (maybe) a proxy issue

我将 mlcp 与 ml-gradle 一起使用。一切都在本地工作,但是当我 运行 它在我的持续集成系统 (Jenkins) 上时,mlcp 命令失败。

我知道 mlcp 支持添加日志记录,但由于我是通过 gradle 引入的,所以我不知道如何进行所需的日志记录更改。

我的系统确实有一个通过环境变量指定的 http 和 https 代理,但对于这个部署我不需要它们。不过,我不知道 mlcp 是否关注代理环境变量。如果它正在尝试使用代理,部署应该会失败。

所以我有两个问题。

  1. 是否有任何关于代理和 mlcp 的文档?
  2. 当通过 ml-gradle 触发时,我可以将日志记录添加到 mlcp 吗?

当通过 Gradle 或 Maven 使用 mlcp 作为库时,您需要在类路径中的某处有一个 log4j.properties 文件。否则,您将无法从 mlcp 获得任何日志记录。

这是使用 Gradle - https://github.com/marklogic-community/ml-gradle/tree/master/examples/mlcp-project

的一种方法

另请注意,在 Windows 上,当 运行 作为库时,mlcp 将报告以下错误:"java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries." mlcp 应该仍然 运行 没问题 - 一对几行之后,它还应该记录 "org.apache.hadoop.util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable"。