【发布时间】:2017-10-31 10:46:48
【问题描述】:
我经常在http://localhost:7474/browser/ 上使用 Neo4J 浏览器。但是,昨天我使用java driver 连接到 Neo4J 并执行查询。从那以后,我无法登录 Neo4J 浏览器。
我使用sudo neo4j start从终端(我在ubuntu上)启动Neo4J,这是输出 -
% 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 驱动程序无法找到失败的原因。请使用您的浏览器开发控制台来确定失败的根本原因。常见原因包括数据库被
截图 -
通常,唯一的身份验证字段是“用户名”和“密码”。我想我以前没见过那里的“主机”字段。
我搜索了这个错误,发现了 question with similar error 和 Neo4J KB 上的一篇文章,上面写着 -
在 Neo4j 3.0 及其 Bolt 协议的实现中,如果远程浏览器连接到 Neo4j (http://:7474) 并尝试进行身份验证,可能会遇到以下错误:
但我认为这种情况不适用于这里。
我该如何解决这个问题?
【问题讨论】:
-
日志文件
/var/log/neo4j/debug.log中有内容吗?不知道是不是和java-driver的使用有关……你昨天升级系统了吗? -
是的,
debug.log中有一大堆东西。我使用cat将所有日志都放入这个file。我看到这个错误在整个日志中重复出现 -java.lang.NoClassDefFoundError: Could not initialize class org.neo4j.bolt.v1.packstream.utf8.SunMiscUTF8Encoder -
我最近所做的唯一更改是将 JDK 8 升级到 9,但那是一个多星期前的事了。
-
目前 Neo4j 还不兼容 java 9
-
这是特定于平台的问题吗?因为我只是在运行 Java 9 的借来的 mac 上 tested 这个,它在那里运行良好。
标签: neo4j neo4j-java-api neo4j-bolt