Автор оригинала: Pankaj Kumar.
Недавно я получил новый MacBook Air M1, и первое, что я хотел там установить, была Java. Итак, я скачал файл OpenJDK tar, извлек его и попытался запустить команду “java-версия”, и она выдала ошибку:
-bash: ./java: Плохой тип процессора в исполняемом файле
Это было что-то новое для меня, я так долго работал над Java и Mac OS и никогда не видел такого рода ошибок. После некоторых онлайн-поисков и отладки я обнаружил, что это происходит потому, что новый чип MacBook M1 использует архитектуру ARM64, а двоичные файлы OpenJDK, загруженные с сайта JDK, созданы для архитектуры x64, которая используется процессорами Intel.
Исправление для-bash: ./java: Неправильный тип процессора в исполняемом файле
После того, как проблема была выявлена, решение оказалось простым. Все, что мне было нужно, – это найти реализацию OpenJDK, поддерживающую архитектуру ARM64. После некоторых поисков я попал на страницу Azul Zulu OpenJDK сборки , и на ней была сборка 64-разрядной архитектуры ARM.
Я скачал файл tar, извлек его и запустил команду java, и она работала нормально.
$ curl -O https://cdn.azul.com/zulu/bin/zulu16.30.19-ca-jdk16.0.1-macosx_aarch64.tar.gz $ tar -xvf zulu16.30.19-ca-jdk16.0.1-macosx_aarch64.tar.gz $ cd zulu16.30.19-ca-jdk16.0.1-macosx_aarch64/bin $ ./java -version openjdk version "16.0.1" 2021-04-20 OpenJDK Runtime Environment Zulu16.30+19-CA (build 16.0.1+9) OpenJDK 64-Bit Server VM Zulu16.30+19-CA (build 16.0.1+9, mixed mode) $
Вывод
Это был первый опыт ” Плохой тип процессора в исполняемом файле ” для меня. Но если вы здесь, то это означает, что вы тоже сталкиваетесь с этим. Это может быть Java или любое другое программное обеспечение. Решение состоит в том, чтобы найти сборку программного обеспечения на основе 64-разрядной архитектуры ARM, и с вами все должно быть в порядке.
Розетта 2
После того, как я закончил настройку Java, я узнал, что мы также можем установить “Розетту 2”. Эта крошечная утилита работает в фоновом режиме и позволяет нам запускать программное обеспечение, созданное для архитектуры Intel x64 в Apple, чипы Mac. Подробнее читайте в этой теме Служба поддержки Apple .