0

我经常在http://localhost:7474/browser/. 但是,昨天我使用java 驱动程序连接到 Neo4J 并执行查询。从那以后,我无法登录 Neo4J 浏览器。

我使用从终端(我在 ubuntu 上)启动 Neo4J sudo neo4j start,这是输出 -

 % sudo neo4j start
Active database: graph.db
Directories in use:
  home:         /var/lib/neo4j
  config:       /etc/neo4j
  logs:         /var/log/neo4j
  plugins:      /var/lib/neo4j/plugins
  import:       /var/lib/neo4j/import
  data:         /var/lib/neo4j/data
  certificates: /var/lib/neo4j/certificates
  run:          /var/run/neo4j
Starting Neo4j.
WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j manual.
/usr/share/neo4j/bin/neo4j: line 411: /var/run/neo4j/neo4j.pid: No such file or directory

然后,我访问localhost:7474,它给了我:server connect屏幕,但是一旦我输入密码,我就会收到这个错误 -

ServiceUnavailable:WebSocket 连接失败。由于 Web 浏览器中的安全限制,此 Neo4j 驱动程序无法找到失败的原因。请使用您的浏览器开发控制台来确定失败的根本原因。常见的原因包括数据库被

截屏 -

在此处输入图像描述

通常,唯一的身份验证字段是“用户名”和“密码”。我不认为我以前见过那里的“主机”字段。

我搜索了这个错误,遇到了一个类似错误的问题和一篇关于Neo4J KB的文章,上面写着 -

在 Neo4j 3.0 及其 Bolt 协议的实现中,如果远程浏览器连接到 Neo4j (http://:7474) 并尝试进行身份验证,可能会遇到以下错误:

但我认为这种情况不适用于这里。

我怎样才能解决这个问题?

4

1 回答 1

0

正如logisima 所指出的,neo4j 与 Java 9 不兼容。您可以安装多个 Java 版本并使用环境变量在它们之间进行交换。例如,在 MacOS 上,您的 .bash_profile 中可能有这两行

export JAVA_HOME=$(/usr/libexec/java_home)
export JAVA8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

第一行获取您通常安装的 java home,第二行指向较旧的 java8 位置。

然后在启动 Neo4j 实例之前,执行例如:

export JAVA_HOME=$JAVA8_HOME
$NEO4J_HOME/bin/neo4j start
于 2018-03-05T21:54:53.820 回答