Beschädigte usr / bin / java

2572
Dave M

Ich habe gerade eine ziemlich dumme Sache gemacht, als ich versuchte, JSTestDriver.jar in usr / bin / java zu kopieren, indem Sie diesen Befehl eingeben: cp jsTestDriver.jar usr / bin / java.

Jetzt druckt jeder 'java'-Befehl im Terminal nur folgendes aus:

/usr/bin/java: line 1: PK: command not found /usr/bin/java: line 2:Q?EA: command not found /usr/bin/java: line 3P?EAan???META-INF/MANIFEST.MFM???: No such file or directory ~?n?/bin?m8?|<(.???l?s?.???c}?s??N̥7?)??U[?/????PB?PK Tg.Acom/PK Tg.A com/google/PK Vg.Acom/google/jstestdriver/PK Tg.Acom/google/jstestdriver/action/PK Tg.A$com/google/jstestdriver/annotations/PK Tg.A com/google/jstestdriver/browser/PK Tg.A!com/google/jstestdriver/commands/PK Tg.Acom/google/jstestdriver/config/PK Ug.A!com/google/jstestdriver/debugger/PK Ug.A!com/google/jstestdriver/embedded/PK Ug.Acom/google/jstestdriver/guice/PK Ug.Acom/google/jstestdriver/hooks/PK Vg.Acom/google/jstestdriver/html/PK P?EA#com/google/jstestdriver/javascript/PK Vg.A*com/google/jstestdriver/javascript/compat/PK P?EAcom/google/jstestdriver/javascript/lib/PK: No such file or directory /usr/bin/java: line 20:Vg.A+com/google/jstestdriver/javascript/plugins/PK: No such file or directory /usr/bin/java: line 21:Vg.A1com/google/jstestdriver/javascript/plugins/async/PK: No such file or directory /usr/bin/java: line 22:Ug.Acom/google/jstestdriver/model/PK: No such file or directory /usr/bin/java: line 23:Ug.Acom/google/jstestdriver/output/PK: No such file or directory /usr/bin/java: line 24:Ug.A: command not found /usr/bin/java: line 25:Ug.A!com/google/jstestdriver/protocol/PK: No such file or directory /usr/bin/java: line 26: syntax error near unexpected token `com/google/jstestdriver/requesthandlers/PK' /usr/bin/java: line 26: Ug.A(com/google/jstestdriver/requesthandlers/PK' 

Ich habe mein Problem gegoogelt, kann aber keine Lösung für mein Problem finden.

Ich verwende Mac OS 10.6.8, das Java SE 7.0 nicht unterstützt. Was ich gehofft hatte, würde mein Problem lösen.

Weiß jemand, wie ich / usr / bin / java wiederherstellen kann?

1
welche Java-Version hast du? vor 11 Jahren 0

2 Antworten auf die Frage

1
jedwards

/usr/bin/javaist in der Regel nur ein Symlink, manchmal zu Ihrer eigentlichen Java-Installation, manchmal zu etwas ähnlichem /etc/alternatives/java.

Welches Java benutzt du? Sun / Oracle? OpenJDK? Und was ist deine Distribution?

Den Befehl ausführen:

find / -type f -name java 

Sie sollten damit beginnen, die echte Java-Binärdatei zu finden.

Das macht Sinn. Ich habe die echte Binärdatei in /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands gefunden. Soweit ich mich erinnern kann, habe ich Java -verson 1.6.0 (etwas) installiert. Wie kann ich / usr / bin / java wieder mit der eigentlichen Java-Installation verknüpfen? Und wie kann ich JsTestDriver.jar in den richtigen Ordner verschieben? Ich glaube, ich habe gesehen, wie Leute nur JAR-Dateien nach / usr / bin / java oder so etwas kopiert haben. vor 11 Jahren 0
Nur für den Fall: / usr / bin / java zeigt auf meinem Rechner auf /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java vor 11 Jahren 0
`cd / usr / bin; rm java; ln -s /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java .` user829755 vor 11 Jahren 0
Ich habe jetzt den alten Java-Symlink in / usr / bin entfernt und durch einen neuen Link aus der eigentlichen Java-Installation ersetzt, wie von user829775 vorgeschlagen. Funktioniert immer noch nicht - derselbe Fehler wie früher. Danke für die bisherige Hilfe! vor 11 Jahren 0
Was zeigt "ls -l / usr / bin / java"? jedwards vor 11 Jahren 0
lrwxr-xr-x 1 Wurzelrad 74 Jun 19 23:35 java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java vor 11 Jahren 0
Erhalten Sie dieselbe Fehlermeldung, wenn Sie Folgendes ausführen: `cd /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/; . / java`? jedwards vor 11 Jahren 0
Oder lrwxr-xr-x 1 Wurzelrad 74 Jun 19 23:35 java -> /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java, ich habe beide Versionen / A / ... ausprobiert Versionen / Aktuell. Immer noch derselbe Fehler vor 11 Jahren 0
@Jedwards: Ja, derselbe Fehler. das bedeutet Ärger richtig? vor 11 Jahren 0
Ja, es bedeutet, dass Sie die eigentliche Binärdatei mit Füßen getreten haben. Ich bin nicht mit Java unter MacOS vertraut, aber eine Neuinstallation / Deinstallation und Installation sollte dies beheben. jedwards vor 11 Jahren 0
OK danke! Ich werde dieses alte OSX-Update wahrscheinlich sowieso loswerden und eine Linux-Distribution installieren. Vielen Dank :) vor 11 Jahren 0
0
user829755

Nur um sicher zu sein: Könnten Sie Folgendes ausführen und das Ergebnis posten?

readlink -f /usr/bin/java file /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java -version 
der erste Befehl: readlink: unzulässige Option - f usage: readlink [-n] [Datei ...] vor 11 Jahren 0
der zweite Befehl: so ziemlich der gleiche Fehler wie oben. vor 11 Jahren 0