Nuxeo 自动化和自定义丰富器

Nuxeo automation and a custom enricher

我正在尝试学习如何开发我自己的强化器(我相信我确实了解基础知识,比如强化器与自动化链的关系等等)。但是,我遇到了问题:

欢迎任何帮助!

日志link:https://answers.nuxeo.com/api/files/2b14d403-aa8a-4ac3-81ca-c9ee13623c2a

我在这里也问过同样的问题:

https://answers.nuxeo.com/general/q/af5a6369c91942b5a81bf61549b467f2/Automation-and-a-custom-enricher

确保您使用与目标平台版本相同的 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.