2012-10-31 3 views
5

Ich habe ein Problem damit, dass mein Java unter Mac OS X Lion funktioniert. Ich habe das Java Upgrade durchgeführt, wo es komplett entfernt wurde. Dann habe ich es wieder gebraucht, und ich habe eine Installation von 7v9.apps durchgeführt, die nicht funktioniert hat.Fehler beim Initialisieren der Java VM unter Mac OS X Lion

Ich habe dann den Apple KB (Knowledge-Base) -Artikel der Rückkehr es zurück 6, aber das hat nicht funktioniert. Ich habe es komplett deinstalliert (viele Male jetzt) ​​und 7v9 neu installiert, aber ich kann meine Apps nicht zum Laufen bringen, noch kann ich die Java-Konsole öffnen.

Kann jemand helfen? Hier sind meine Protokolle von der Konsole:

10/31/12 3:01:44.681 PM [0x0-0x6ea6ea].com.apple.systempreferences: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/jcontrol: line 116: [: too many arguments 

10/31/12 3:01:44.681 PM [0x0-0x6ea6ea].com.apple.systempreferences: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/jcontrol: line 120: [: -Xdock:icon=/Library/Internet: binary operator expected 

10/31/12 3:01:44.723 PM [0x0-0x6ea6ea].com.apple.systempreferences: Error occurred during initialization of VM 

10/31/12 3:01:44.723 PM [0x0-0x6ea6ea].com.apple.systempreferences: java.lang.NullPointerException 

10/31/12 3:01:44.723 PM [0x0-0x6ea6ea].com.apple.systempreferences:  at java.util.Hashtable.put(Hashtable.java:542) 

10/31/12 3:01:44.723 PM [0x0-0x6ea6ea].com.apple.systempreferences:  at java.lang.System.initProperties(Native Method) 

10/31/12 3:01:44.723 PM [0x0-0x6ea6ea].com.apple.systempreferences:  at java.lang.System.initializeSystemClass(System.java:1115) 
+0

Warte, sind diese Hex-Werte Speicheradressen? Ich dachte, die JVM * habe niemals Speicheradressen ausgegeben? – asteri

+0

ich weiß es nicht. Das sind die Protokolle von der Konsole. –

+0

Was passiert, wenn Sie 'java -version' von einem Terminal eingeben? (Wenn Java 7U9 installiert ist, sollten Sie die folgende Ausgabe erhalten "Java-Version" 1.7.0_09 "" – Dinuk

Antwort

0
[…]/jcontrol: line 116: [: too many arguments 
[…]/jcontrol: line 120: [: -Xdock:icon=/Library/Internet: binary operator expected 

Es sieht aus wie Syntaxfehler waren in dieser jcontrol-Datei, die sich manifestieren, weil einige Vorfahren Prozessumgebungsvariablen _JCP_DOCK_NAME und _JCP_DOCK_ICON. Die Ausgabe von env | grep JCP könnte hier nützlich sein. Das jcontrol Skript kann durch Hinzufügen von Anführungszeichen um diese Variablen in den genannten Linien festgelegt werden:

if [ -z "${_JCP_DOCK_NAME}" ]; then 
    _JCP_DOCK_NAME=-Xdock:name="Java Control Panel" 
fi 

if [ -z "${_JCP_DOCK_ICON}" ]; then 
    _JCP_DOCK_ICON=-Xdock:icon="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Resources/Java7VM.icns" 
fi 

ich weit davon entfernt bin sicher, ob dies die Ursache für die nachfolgenden Fehlermeldungen ist, though.

Error occurred during initialization of VM 
java.lang.NullPointerException 
    at java.util.Hashtable.put(Hashtable.java:542) 
    at java.lang.System.initProperties(Native Method) 
    at java.lang.System.initializeSystemClass(System.java:1115) 

Hashtable.put wirft eine Null-Zeiger Ausnahme, wenn das Argument valuenull ist. Es wäre interessant zu wissen, auf welchen Schlüssel sich dies bezieht, aber der Java-Debugger wird wahrscheinlich beim Debuggen dieses native code nicht von großem Nutzen sein. Vielleicht ist Ihre beste Wette, einen allgemeinen Anwendungsdebugger wie "gdb" zu verwenden, um den Schlüssel herauszufinden, der mit dem null Wert in diesem put Aufruf verbunden ist.

0
/Library/Internet: binary operator expected 

Ich hatte einen ähnlichen Fehler, wenn sie versuchen Oracle JDeveloper auf OS X.

Ich denke, das Problem ist der Raum, in $JAVA_HOME Umgebungsvariable zu verwenden. Ich habe einfach einen symbolischen Link auf den Standort der Oracle Java 1.7:

>ls -la /usr/local/oraclejava 
lrwxr-xr-x 1 root admin 64 20 Sep 13:33 /usr/local/oraclejava -> /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home 

Re-Start der App nach $JAVA_HOME-/usr/local/oraclejava das Problem behoben zu setzen.

Verwandte Themen