Nuxeo 自动化和自定义丰富器
Nuxeo automation and a custom enricher
我正在尝试学习如何开发我自己的强化器(我相信我确实了解基础知识,比如强化器与自动化链的关系等等)。但是,我遇到了问题:
- 我可以使用现有的增强器,例如,
Document.FetchByProperty 一切都会正常
- 但是一旦我包含了我自己的自定义增强器,我就会收到错误消息(下面的link)
- 我不知道我做错了什么,所以我从 Nuxeo 示例项目中获取了现有的自定义增强器,但得到了同样的错误
欢迎任何帮助!
日志link:https://answers.nuxeo.com/api/files/2b14d403-aa8a-4ac3-81ca-c9ee13623c2a
我在这里也问过同样的问题:
确保您使用与目标平台版本相同的 Nuxeo 库版本编译增强器代码。
例如示例项目正在使用最新版本(当前为 11.1-SNAPSHOT),结果代码将与 Nuxeo 平台 9.2 不兼容。特别是抽象方法可能会有问题。
所以 pom.xml 中应该有这个部分,你的情况是 <version>9.2</version>
:
<parent>
<groupId>org.nuxeo</groupId>
<artifactId>nuxeo-addons-parent</artifactId>
<version>9.2</version>
</parent>
这里之所以会抛出java.lang.AbstractMethodError
,是因为JsonGenerator
。 Nuxeo 9.2 使用 org.codehaus.jackson.JsonGenerator
而较新的 Nuxe 版本使用 com.fasterxml.jackson.core.JsonGenerator
。
那么这个方法签名(在9.2中):
public void write(org.codehaus.jackson.JsonGenerator jsonGenerator, DocumentModel documentModel) throws IOException;
... 与此不兼容(例如在 10.3 中):
public void write(com.fasterxml.jackson.core.JsonGenerator json, DocumentModel document) throws IOException;
然后 Java 无法找到正确的 write()
方法实现并抛出 AbstractMethodError
.
我正在尝试学习如何开发我自己的强化器(我相信我确实了解基础知识,比如强化器与自动化链的关系等等)。但是,我遇到了问题:
- 我可以使用现有的增强器,例如, Document.FetchByProperty 一切都会正常
- 但是一旦我包含了我自己的自定义增强器,我就会收到错误消息(下面的link)
- 我不知道我做错了什么,所以我从 Nuxeo 示例项目中获取了现有的自定义增强器,但得到了同样的错误
欢迎任何帮助!
日志link:https://answers.nuxeo.com/api/files/2b14d403-aa8a-4ac3-81ca-c9ee13623c2a
我在这里也问过同样的问题:
确保您使用与目标平台版本相同的 Nuxeo 库版本编译增强器代码。
例如示例项目正在使用最新版本(当前为 11.1-SNAPSHOT),结果代码将与 Nuxeo 平台 9.2 不兼容。特别是抽象方法可能会有问题。
所以 pom.xml 中应该有这个部分,你的情况是 <version>9.2</version>
:
<parent>
<groupId>org.nuxeo</groupId>
<artifactId>nuxeo-addons-parent</artifactId>
<version>9.2</version>
</parent>
这里之所以会抛出java.lang.AbstractMethodError
,是因为JsonGenerator
。 Nuxeo 9.2 使用 org.codehaus.jackson.JsonGenerator
而较新的 Nuxe 版本使用 com.fasterxml.jackson.core.JsonGenerator
。
那么这个方法签名(在9.2中):
public void write(org.codehaus.jackson.JsonGenerator jsonGenerator, DocumentModel documentModel) throws IOException;
... 与此不兼容(例如在 10.3 中):
public void write(com.fasterxml.jackson.core.JsonGenerator json, DocumentModel document) throws IOException;
然后 Java 无法找到正确的 write()
方法实现并抛出 AbstractMethodError
.