0

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

一个严格符合 RFC 4510 的 LDAP V3 纯 Python 客户端库

我已经在处理器的属性选项卡中定义了包含库的文件夹的路径,使用

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 - server.my.domain:9091 - 错误 ExecuteScript [id=xxxx] 由于 org.apache.nifi.processor.exception.ProcessException 无法处理会话:javax.lang.NoClassDefFoundError:org/scijava/ jython/shaded/javax/xml/bind/DatatypeConverter 在第 5 行:javax.script.ScriptException:javax.lang.NoClassDefFoundError:java.lang.NoClassDefFoundError:org/scijava/jython/shaded/javax/xml/bind/DatatypeConverter在第 5 行

果然,scipt 中的第 5 行是:

import ldap3

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

4

0 回答 0