知识库

由于未管理扩展或插件配置错误导致启动失败

有时,在升级后,可能会遇到由于类似于以下异常而导致 Neo4j 服务器初始化失败的情况

2019-11-14 12:57:40.446+0000 ERROR Failed to start Neo4j:
Starting Neo4j failed: Component 'org.neo4j.server.AbstractNeoServer$ServerComponentsLifecycleAdapter@7f7eeaaf' was successfully
initialized, but failed to start. Please see the attached cause exception "The ResourceConfig instance does not contain any root
resource classes.". Starting Neo4j failed: Component 'org.neo4j.server.AbstractNeoServer$ServerComponentsLifecycleAdapter@7f7eeaaf'
was successfully initialized, but failed to start. Please see the attached cause exception "The ResourceConfig instance does not
contain any root resource classes.".

此异常通常在以下情况下抛出

当插件目录(默认设置为 $NEO4J_HOME/plugins)包含无效的插件 JAR 时。当 JAR 不再对应于新升级的 Neo4j 版本时。当 dbms.unmanaged_extension_classes 定义的路径无效或无法访问时。当位于路径上的未管理扩展不包含异常中突出显示的必需资源类时。

如果使用插件(Neo4j 或自定义),例如使用 apoc,请确保只有一个与当前安装的 Neo4j 版本兼容的插件版本。

此外,假设不需要当前使用任何配置的未管理扩展。解决上述异常导致服务器初始化停止的最简单方法是在 neo4j.conf 中注释此设置,例如 #dbms.unmanaged_extension_classes。如果确实需要扩展,则必须验证配置路径和权限,最后验证扩展工作所需的类是否存在。