Ich startete einen Server neo4j 1.9.4 und lief neo4j info
. Die Ausgabe enthielt diese Zeile:
JAVA_HOME: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Also offensichtlich musste ich JAVA_HOME setzen. Worauf sollte es eingestellt werden? /usr/libexec/java_home
gibt das gleiche Verzeichnis zurück. Das JavaVirtualMachines-Verzeichnis enthält keine anderen Unterordner. Also habe ich versucht, die Java-Systemsteuerung zu erkunden (über Systemeinstellungen). Unter dem „Java“, klicken Sie auf „Ansicht“ und der Weg für 7u45 gegeben:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
Also habe ich versucht, diese zu erraten, dass die Contents/Home
Verzeichnisse isomorph waren:
$ 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.
dass ist nicht gut .
Ich suchte und fand this post, und auf Lasses Rat habe ich /usr/local/Cellar/neo4j/1.9.4/libexec/bin/utils
bearbeitet. Ich habe zwei Linien:
# 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
}
und versuchte es erneut:
$ 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.
Es ist wie der Raum in dem Pfad sieht verwirrend. Ich versuchte, es zu entkommen, aber mein erster Ansatz gescheitert:
$ 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
Und dann habe ich beschlossen, dass die einfache (nicht unbedingt schön) Lösung war nur einen symbolischen Link zu machen:
$ cd /Library/
$ sudo ln -s Internet\ Plug-Ins/ Internet-Plug-Ins
$ export JAVA_HOME=/Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
An diesem Punkt neo4j start
lief richtig; und ich habe es geschafft, auf V2.0.0-M6 zu aktualisieren und es funktionierte immer noch.
Können Sie versuchen, diese Datei herunterladen und in Ihrem bin-Verzeichnis und dann versuchen, JAVA_HOME auf den Pfad mit Leerzeichen in - https://raw.github.com/mneedham/neo4j/54f47c41164d9c317aefefc2a37149bac283adda/packaging/standalone/src/ Haupt/Verteilung/shell-scripts/bin/neo4j. Und dann lass es mich wissen, ob es richtig starten kann. –
Das hat funktioniert, danke! – philh
Das funktioniert wie ein Zauber! Danke ! – user1713964