Поврежденный usr / bin / java

2486
Dave M

Я просто сделал довольно глупую вещь, когда попытался скопировать JSTestDriver.jar в usr / bin / java, введя следующую команду: cp jsTestDriver.jar usr / bin / java.

Теперь каждая команда 'java' в терминале просто печатает это:

/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' 

Я погуглил мою проблему, но не могу найти решение своей проблемы.

Я использую Mac OS 10.6.8, которая не поддерживает Java SE 7.0. Который я надеялся решить мою проблему.

Кто-нибудь знает, как я могу восстановить / usr / bin / java?

1
какая версия Java у вас есть? 10 лет назад 0

2 ответа на вопрос

1
jedwards

/usr/bin/java is usually just a symlink, sometimes to your actual java installation, sometimes to something like /etc/alternatives/java.

What java are you using? Sun/Oracle? OpenJDK? And what is your distro?

Running the command:

find / -type f -name java 

Should get you started finding the real java binary.

В этом есть смысл. Я нашел настоящий двоичный файл в /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands. Насколько я помню, я установил (или имел) java -verson 1.6.0. (Что-то). Как я могу снова связать / usr / bin / java с фактической установкой Java? И как я могу переместить JsTestDriver.jar в правильную папку? Я полагаю, я видел людей, просто копирующих файлы jar в / usr / bin / java или что-то в этом роде ... 10 лет назад 0
На всякий случай: на моем компьютере / usr / bin / java указывает на /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 10 лет назад 0
`cd / usr / bin; рм ява; ln -s /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java .` user829755 10 лет назад 0
Теперь я удалил старую символическую ссылку java в / usr / bin и заменил ее новой ссылкой из фактической установки java, как предложил user829775. Все еще не работает - та же ошибка, что я получил ранее. Спасибо за помощь! 10 лет назад 0
Что показывает `ls -l / usr / bin / java`? jedwards 10 лет назад 0
корневое колесо lrwxr-xr-x 1 74 июня 19 23:35 java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 10 лет назад 0
Вы получаете ту же ошибку, если запускаете: `cd /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/; . / java`? jedwards 10 лет назад 0
Или корневое колесо lrwxr-xr-x 1 74 июня 19 23:35 java -> /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java, я пробовал обе версии / A / ... и Версии / ток. Все та же ошибка 10 лет назад 0
@jedwards: да, та же ошибка. это означает, что проблема не так ли? 10 лет назад 0
Да, это означает, что вы попрали действительный двоичный файл. Я не знаком с Java на MacOS, но переустановка / удаление и установка должны исправить это. jedwards 10 лет назад 0
Хорошо спасибо! Я, вероятно, в любом случае избавлюсь от этого старого обновления OSX и установлю дистрибутив Linux. Спасибо :) 10 лет назад 0
0
user829755

just to be sure: could you execute the following and post the result?

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 
первая команда: readlink: недопустимая опция - f использование: readlink [-n] [file ...] 10 лет назад 0
вторая команда: почти та же ошибка, что и выше. 10 лет назад 0

Похожие вопросы