首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用带有Java17的Neo4j桌面转储数据库

无法使用带有Java17的Neo4j桌面转储数据库
EN

Stack Overflow用户
提问于 2021-11-21 17:49:45
回答 1查看 268关注 0票数 0

Windows10和1.4.9,Neo4j 17。

每次尝试转储数据库时,在Neo4j桌面中都会出现以下错误。

我检查了Neo4jDesktop日志。

代码语言:javascript
复制
[2021-11-21 18:43:55.043] [error] Selecting JVM - Version:11.0.8, Name:OpenJDK 64-Bit Server VM, Vendor:Azul Systems, Inc.
Invalid value for option '--to': cannot convert 'P:\Software\DB\NoSQL\Neo4j_data\relate-data\projects\project-21158abc-7557-4b51-8eb1-19276b14bfda\from-blog-neo4j-Nov-21-2021-18:43:48.dump' to interface java.nio.file.Path (java.nio.file.InvalidPathException: Illegal char <:> at index 128: P:\Software\DB\NoSQL\Neo4j_data\relate-data\projects\project-21158abc-7557-4b51-8eb1-19276b14bfda\from-blog-neo4j-Nov-21-2021-18:43:48.dump)

Dump a database into a single-file archive.

USAGE

neo4j-admin dump [--expand-commands] [--verbose] [--database=<database>]
                 --to=<path>

DESCRIPTION

Dump a database into a single-file archive. The archive can be used by the load
command. <destination-path> can be a file or directory (in which case a file
called <database>.dump will be created). It is not possible to dump a database
that is mounted in a running Neo4j server.

OPTIONS

      --verbose           Enable verbose output.
      --expand-commands   Allow command expansion in config value evaluation.
      --database=<database>
                          Name of the database to dump.
                            Default: neo4j
      --to=<path>         Destination (file or folder) of database dump.

当我从Powershell尝试这个命令时,它给出了一个关于JVM版本的错误,并要求更改JDK:

代码语言:javascript
复制
Selecting JVM - Version:17.0.1, Name:OpenJDK 64-Bit Server VM, Vendor:Oracle Corporation
WARNING! You are using an unsupported Java runtime.
* Please use Oracle(R) Java(TM) 11, OpenJDK(TM) 11 to run Neo4j.
* Please see https://neo4j.com/docs/ for Neo4j installation instructions.
OpenJDK 64-Bit Server VM warning: Option UseBiasedLocking was deprecated in version 15.0 and will likely be removed in a future release.
Exception in thread "main" java.lang.LinkageError: Cannot to link java.nio.DirectByteBuffer
        at org.neo4j.internal.unsafe.UnsafeUtil.<clinit>(UnsafeUtil.java:124)
        at org.neo4j.io.pagecache.impl.muninn.MuninnPageCache.verifyHacks(MuninnPageCache.java:397)
        at org.neo4j.io.pagecache.impl.muninn.MuninnPageCache.<init>(MuninnPageCache.java:369)
        at org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory.createPageCache(ConfiguringPageCacheFactory.java:104)
        at org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory.getOrCreatePageCache(ConfiguringPageCacheFactory.java:86)
        at org.neo4j.kernel.recovery.Recovery.getPageCache(Recovery.java:478)
        at org.neo4j.kernel.recovery.Recovery.isRecoveryRequired(Recovery.java:210)
        at org.neo4j.kernel.recovery.Recovery.isRecoveryRequired(Recovery.java:168)
        at org.neo4j.commandline.dbms.DumpCommand.checkRecoveryState(DumpCommand.java:182)
        at org.neo4j.commandline.dbms.DumpCommand.checkDbState(DumpCommand.java:170)
        at com.neo4j.commandline.dbms.EnterpriseDumpCommand.checkDbState(EnterpriseDumpCommand.java:36)
        at org.neo4j.commandline.dbms.DumpCommand.execute(DumpCommand.java:113)
        at org.neo4j.cli.AbstractCommand.call(AbstractCommand.java:71)
        at org.neo4j.cli.AbstractCommand.call(AbstractCommand.java:34)
        at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
        at picocli.CommandLine.access$1300(CommandLine.java:145)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
        at picocli.CommandLine.execute(CommandLine.java:2078)
        at org.neo4j.cli.AdminTool.execute(AdminTool.java:89)
        at org.neo4j.cli.AdminTool.main(AdminTool.java:67)
        Suppressed: java.lang.LinkageError: Could not get Throwable message field
                at org.neo4j.internal.helpers.Exceptions.<clinit>(Exceptions.java:239)
                at org.neo4j.kernel.impl.scheduler.CentralJobScheduler.shutdown(CentralJobScheduler.java:271)
                at org.neo4j.kernel.impl.scheduler.CentralJobScheduler.close(CentralJobScheduler.java:282)
                at org.neo4j.kernel.recovery.Recovery.isRecoveryRequired(Recovery.java:209)
                ... 16 more
        Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private java.lang.String java.lang.Throwable.detailMessage accessible: module java.base does not "opens java.lang" to unnamed module @2b552920
                at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
                at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
                at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
                at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
                at org.neo4j.internal.helpers.Exceptions.<clinit>(Exceptions.java:235)
                ... 19 more
Caused by: java.lang.IllegalAccessException: module java.base does not open java.nio to unnamed module @2b552920
        at java.base/java.lang.invoke.MethodHandles.privateLookupIn(MethodHandles.java:259)
        at org.neo4j.internal.unsafe.UnsafeUtil.<clinit>(UnsafeUtil.java:107)

*在我降级后(简单地将环境变量指向JDK11),ne4j-admin dump命令起作用了,但是Neo4j桌面仍然无法转储,日志中的错误是相同的。

EN

回答 1

Stack Overflow用户

发布于 2021-11-23 13:41:52

几点建议:

你的路径是错误的吗?我使用了活动数据库文件夹中的目录。我只是在bin,plugin,import和data文件夹旁边创建了一个转储文件夹。

您可以从bin文件夹执行该命令。

需要停止数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70057144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档