最近需要用到Neo4j做个小试验,看似顺利安装却在启动server的时候报错。最终发现问题是JDK1.7安装时,少修改了一个symlink。
我的安装步骤如下:
从Oracle下载了JDK1.7,在~/.bashrc里修改了JAVA_HOME变量。
代码如下 | 复制代码 |
export JAVA_HOME=/usr/libexec/java_home -v 1.7 |
检查了一下当前jdk版本。
代码如下 | 复制代码 |
> source ~/.bashrc > java -version java version "1.7.0_25" Java(TM) SE Runtime Environment (build 1.7.0_25-b15) Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode) |
看起来没什么问题,但实际上并没有完成。
在/System/Library/Frameworks/JavaVM.framework/Versions 下有一个 CurrentJDK 的symlink,仍然指向JDK 1.6的路径。
如果没有修改symlink,则neo4j启动时报错。
代码如下 | 复制代码 |
> neo4j start Using additional JVM arguments: -server -XX:+DisableExplicitGC -Dorg.neo4j.server.properties=conf/neo4j-server.properties -Djava.util.logging.config.file=conf/logging.properties -Dlog4j.configuration=file:conf/log4j.properties -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Dneo4j.ext.udc.source=homebrew Starting Neo4j Server...WARNING: not changing user process [29976]... waiting for server to be ready.... Failed to start within 120 seconds. Neo4j Server may have failed to start, please check the logs. |
需要执行一下命令:
代码如下 | 复制代码 |
> cd /System/Library/Frameworks/JavaVM.framework/Versions > sudo rm CurrentJDK > sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/ CurrentJDK > ls -l CurrentJDK lrwxr-xr-x 1 root wheel 59 Aug 31 01:58 CurrentJDK -> /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/ |
这时
代码如下 | 复制代码 |
> neo4j start Using additional JVM arguments: -server -XX:+DisableExplicitGC -Dorg.neo4j.server.properties=conf/neo4j-server.properties -Djava.util.logging.config.file=conf/logging.properties -Dlog4j.configuration=file:conf/log4j.properties -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Dneo4j.ext.udc.source=homebrew Starting Neo4j Server...WARNING: not changing user process [33636]... waiting for server to be ready....... OK. Go to http://localhost:7474/webadmin/ for administration interface. Neo4j Server |
顺利启动。网上看到有不少人报类似的错,但原因不全是JDK路径问题造成。
时间: 2024-11-03 13:49:18