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