Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在OS X上使用Java 7和neo4j_Java_Macos_Neo4j - Fatal编程技术网

在OS X上使用Java 7和neo4j

在OS X上使用Java 7和neo4j,java,macos,neo4j,Java,Macos,Neo4j,在系统首选项中将Java升级到7u45后,Neo4j仍然警告我使用了错误的版本: WARNING! You are using an unsupported Java runtime. Please use Oracle(R) Java(TM) Runtime Environment 7. 我想使用不支持Java 6的neo4j v2,所以我需要解决这个问题。我启动了neo4j 1.9.4服务器,并运行了neo4j info。输出包括这一行: JAVA_HOME: /Syste

在系统首选项中将Java升级到7u45后,Neo4j仍然警告我使用了错误的版本:

WARNING! You are using an unsupported Java runtime. Please use Oracle(R) Java(TM) Runtime Environment 7.

我想使用不支持Java 6的neo4j v2,所以我需要解决这个问题。

我启动了neo4j 1.9.4服务器,并运行了
neo4j info
。输出包括这一行:

JAVA_HOME:         /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
所以很明显,我需要把JAVA_放在家里。设置为什么
/usr/libexec/java_home
返回相同的目录。JavaVirtualMachine目录不包括任何其他子文件夹。因此,我尝试探索java控制面板(从系统首选项访问)。在“Java”选项卡下,单击“查看”,7u45的路径如下所示:

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
所以我尝试了这个,猜测
Contents/Home
目录是同构的:

$ export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
$ neo4j start
WARNING! You are using an unsupported Java runtime. Please use Oracle(R) Java(TM) Runtime Environment 7.
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 [34808]... waiting for server to be ready. Failed to start within 120 seconds.
Neo4j Server may have failed to start, please check the logs.
那不好

我搜索并找到了,在Lasse的建议下,我编辑了
/usr/local/ceral/neo4j/1.9.4/libexec/bin/utils
。我增加了两行:

 # check if running Oracle JDK 7, warn if not
 checkjvmcompatibility() {
+  echo $JAVACMD
+  $JAVACMD -version
   $JAVACMD -version 2>&1 | egrep -q "Java HotSpot\\(TM\\) (64-Bit Server|Server|C
 lient) VM"
   if [ $? -eq 1 ]
   then
     echo "WARNING! You are using an unsupported Java runtime. Please use Oracle(R) Java(TM) Runtime Environment 7."
   else
     $JAVACMD -version 2>&1 | egrep -q "java version \"1.7"
     if [ $? -eq 1 ]
     then
       echo "WARNING! You are using an unsupported version of the Java runtime. Please use Oracle(R) Java(TM) Runtime Environment 7."
     fi
   fi
 }
然后再试一次:

$ neo4j start
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
bin/utils: line 349: /Library/Internet: No such file or directory
WARNING! You are using an unsupported Java runtime. Please use Oracle(R) Java(TM) Runtime Environment 7.
看起来路径中的空间很混乱。我试图逃避,但我的第一个方法失败了:

$ export JAVA_HOME="'/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home'"
$ neo4j start
Error: JAVA_HOME is not defined correctly.
  We cannot execute '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home'/bin/java
然后我决定简单(不一定很好)的解决方案就是制作一个符号链接:

$ cd /Library/
$ sudo ln -s Internet\ Plug-Ins/ Internet-Plug-Ins
$ export JAVA_HOME=/Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

此时
neo4j start
运行正常;我成功地升级到了v2.0.0-M6,它仍然有效。

您必须在Max OS上安装java JDK 1.7.x,然后

运行此命令查看最新的JavaJDK在哪里

$/usr/libexec/java_home-V

1.7.0_45, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
1.6.0_65-b14-462, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
这个案例我的最新版本是1.7.0_45

$export JAVA_HOME=/Library/JAVA/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/HOME

$bin/neo4j开始


这对我很有用。

你能试着下载这个文件并把它放到你的bin目录中,然后试着将JAVA_HOME设置为在-,中有空格的路径吗。然后让我知道它是否能够正确启动。我找不到JDK 1.7.x,只是默认使用的1.6.0。如果要更改每个程序,使其默认使用JDK 1.7.x$vim.bash_profile,请按i(插入文本)添加行-->导出JAVA_HOME=$(/usr/libexec/JAVA_HOME)按ESC然后键入:wqI感谢您的帮助,但是您是否阅读了我对这个答案的评论,或者我在上面发布的答案?我知道如何编辑文本文件,我已经在我的配置文件中设置了JAVA_HOME,/usr/libexec/JAVA_HOME仍然找不到JDK 1.7.x。