无法在ExecuteScript处理器中加载ldap3 python模块

时间:2018-05-25 16:26:58

标签: jython apache-nifi ldap3

我正在尝试在NiFi ExecuteScript处理器中运行python脚本。此脚本使用来自https://pypi.org/project/ldap3/ ldap3 库。我知道处理器运行Jython,我无法使用已编译的代码,.so文件等,但我注意到该库声称是:

  

严格遵守RFC 4510的LDAP V3纯Python客户端库

我已经使用

在处理器的 PROPERTIES 标签中定义了包含库的文件夹的路径
Script Engine    : python
Script File      : /mnt/path_to_my_scripts/run.py
Script Body      :
Module Directory : /mnt/path_to_my_libs

... ldap3库文件夹的位置是:

/mnt/path_to_my_libs/ldap3

当我启动处理器时,我收到以下错误消息:

  

16:17:32 GMT - server.my.domain:9091 - ERROR ExecuteScript [id = xxxx]   由于未能处理会话   org.apache.nifi.processor.exception.ProcessException:   javax.lang.NoClassDefFoundError:   org / scijava / jython / shaded / javax / xml / bind / DatatypeConverter in   在第5行:javax.script.ScriptException:   javax.lang.NoClassDefFoundError:java.lang.NoClassDefFoundError:   org / scijava / jython / shaded / javax / xml / bind / DatatypeConverter in   在第5行

果然,scipt中的第5行是:

import ldap3

我有其他脚本成功运行,使用ldap3。

0 个答案:

没有答案