Nuxeo自动化和定制浓缩器

时间:2019-03-07 12:36:45

标签: nuxeo

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

  • 例如,我可以将现有的浓缩器用于 Document.FetchByProperty,一切正常
  • 但是一旦我添加了自己的自定义浓缩器,就会出现错误(下面的链接)
  • 我不知道自己在做什么错,所以我从Nuxeo示例项目中获取了现有的自定义浓缩器,并遇到了相同的错误

欢迎任何帮助!

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

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

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

1 个答案:

答案 0 :(得分:1)

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