我正在尝试使用此命令在Ubuntu计算机上运行neo4j服务器:
sudo neo4j start
但它给了我这个错误:
ERROR: JAVA_HOME is incorrectly defined as /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/ (the executable /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin//bin/java does not exist)
现在,我已将JAVA_HOME
设置为安装Java的正确目录。这是我运行echo $JAVA_HOME
时得到的结果:
/usr/lib/jvm/java-8-oracle
我不知道JAVA_HOME
的价值在哪里。我检查了配置文件,但是我找不到任何可能需要设置JAVA_HOME
的变量。
答案 0 :(得分:4)
这与7的问题相同,你可以这样解决:
JAVA_HOME
应设置为包含包含Java可执行文件的bin目录的目录的名称(特别是java本身)。
假设你有一个/usr/lib/jvm/jdk1.7.0
目录,它可能包含一个jre
子目录,其中包含bin
目录,其中包含java和相关的可执行文件。
所以你应该将JAVA_HOME
设置为/usr/lib/jvm/jdk1.7.0/jre
而不是/usr/lib/jvm/jdk1.7.0
。
请参阅 JAVA_HOME is not defined correctly了解更多信息。
答案 1 :(得分:0)
默认情况下,某些发行版会重置环境变量,以确保在root用户下执行的程序按预期运行。 (sudo: java: command not found after exiting from root user)
因此,在使用sudo
时请保留环境变量:
sudo -E neo4j start