知识库

因非托管扩展或插件配置错误导致的启动失败

有时,在升级后,可能会遇到 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.".

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

当 plugins 目录(默认设置为 $NEO4J_HOME/plugins)包含无效的插件 JAR 时。当 JAR 文件不再与新升级的 Neo4j 版本兼容时。当 dbms.unmanaged_extension_classes 定义的路径无效或不可访问时。当该路径下的非托管扩展不包含异常中指出的所需资源类时。

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

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

© . All rights reserved.