#eclipse #macos #macos-catalina
#eclipse #macos #macos-каталина
Вопрос:
Я только что установил Eclipse IDE для корпоративных Java и веб-разработчиков на Mac OS Catalina версии 10.15.7, вчера. Я перетащил Eclipse.app из папки Downloads в папку Application. Все работало просто отлично. Я создал пару сервлетов. Но сегодня, когда я нажал на приложение, чтобы открыть его, я получил сообщение о проблеме (ошибка), и поэтому оно не открылось.
Сведения об ошибке..
Время пробуждения с момента загрузки: 3300 секунд
Защита целостности системы: включена
Аварийный поток: 0
Тип исключения: EXC_CRASH (неверная подпись кода) Коды исключений: 0x0000000000000000, 0x0000000000000000 Примечание об исключении:
EXC_CORPSE_NOTIFYПричина завершения: КОДИРОВАНИЕ пространства имен, код 0x1
сообщения ядра:
Области виртуальной машины, близкие к 0 (cr2):
__TEXT 000000000c447000-000000000c44b000 [ 16K] r-x/r-x SM=COW
Поток 0 разбился: 0???
0x0000000015674000 _dyld_start 0Поток 0 разбился с состоянием потока X86 (64-разрядный): rax: 0x0000000000000000 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x0000000000000000 rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp: 0x0000000000000000 rsp: 0x00007ffee37bcc60
r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x0000000000000000 r11: 0x0000000000000000 r12: 0x0000000000000000 r13: 0x0000000000000000 r14: 0x0000000000000000 r15:0x0000000000000000 rip: 0x0000000015674000 rfl: 0x0000000000000200 cr2: 0x0000000000000000 Логический процессор: 0 Код ошибки:
0x00000000 Номер ловушки: 0
На самом деле, я уже погуглил проблему, но решения, которые работали для других, не работали для меня. Например, я попробовал следующие решения:
- переместите Eclipse.app из папки приложения
eclipse -clean
- Я дважды щелкнул исполняемый файл eclipse, который в
/Applications/Eclipse.app/Contents/MacOS
Я думал о повторной установке Eclipse, но перед этим я хочу знать, есть ли решение этой проблемы.
Ответ №1:
Современное Eclipse (2021-09 и, возможно, даже раньше) имеет серьезную несовместимость с Gatekeeper, который проверяет КОДОВОЕ оформление пакета Eclipse.app. Apple не разрешает самостоятельное изменение пакетов, поскольку это подрывает модель безопасности macOS — защиту от вредоносных программ (Xprotect). Смотрите: https://eclecticlight.co/tag/gatekeeper /
Я подозреваю, что Info.plist изменяется после первоначального запуска или при изменении некоторых пользовательских настроек или настроек IDE.
Обходной путь, такой как попытка разработать код вручную, является громоздким и не сработал для меня на Catalina:
codesign -v -vvv --deep /Applications/Eclipse.app
/Applications/Eclipse.app: invalid Info.plist (plist or signature have been modified)
In architecture: x86_64
sudo codesign --force --sign - /Applications/Eclipse.app
Password:
/Applications/Eclipse.app: replacing existing signature
/Applications/Eclipse.app: bundle format unrecognized, invalid, or unsuitable
In subcomponent: /Applications/Eclipse.app/Contents/MacOS/${user.home}
Что действительно сработало для меня, так это определение исключения для Xprotect Gatekeeper путем рекурсивного удаления определенного расширенного атрибута для карантина. Используйте следующее непосредственно после установки Eclipse и перед его запуском:
xattr -r -d com.apple.quarantine /Applications/Eclipse.app
Смотрите: https://eclecticlight.co/2019/06/17/what-to-do-when-you-cant-launch-an-app /
Ответ №2:
Неверная подпись кода означает, что приложение каким-то образом было повреждено, что приводит к тому, что подпись больше не совпадает. Переустановка — это правильный способ исправить это.
Что касается причины, это то, что произошло между последним успешным запуском и первым запуском, когда он не запустился. Может быть, это ошибка в самом Eclipse, может быть, это действие, которое вы предприняли. Это трудно понять после факта. Если это продолжает происходить, средство отслеживания ошибок Eclipse является подходящим местом для сообщения об этом.
Комментарии:
1. Спасибо за ваш ответ. Как вы сказали, я просто переустановлю его.