Протежé 5.6.4 не запускается после установки через WinGet с ошибкой “Не удается найти класс Java”, несмотря на наличие нескольких версий JDK.

Вопрос или проблема

Я установил Protégé 5.6.4 с помощью WinGet:

winget install Protégé

что прошло успешно:

Найден Protégé [Stanford.Protege] Версия 5.6.4
Это приложение лицензировано его владельцем.
Microsoft не несет ответственности и не выдает лицензии на сторонние пакеты.
Загрузка https://github.com/protegeproject/protege-distribution/releases/download/protege-5.6.4/Protege-5.6.4-win.zip
Успешно проверена хэш-сумма установщика
Извлечение архива...
Успешно извлечен архив
Начало установки пакета...
Добавлен псевдоним командной строки: "protege"
Переменная окружения Path изменена; перезапустите оболочку, чтобы использовать новое значение.
Успешно установлено

Однако, когда я запускаю protege.exe из %LOCALAPPDATA%\Microsoft\WinGet\Links\, я получаю:

CompileCommand: exclude javax/swing/text/GlyphView.getBreakSpot bool exclude = true
protege: Не удается запустить Java: Не удается найти класс Java

У меня установлено несколько версий Java:

> where java
C:\Program Files\Eclipse Adoptium\jre-21.0.5.11-hotspot\bin\java.exe
C:\Program Files\Eclipse Adoptium\jre-8.0.432.6-hotspot\bin\java.exe
C:\Program Files (x86)\Common Files\Oracle\Java\java8path\java.exe
C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
C:\Program Files\AdoptOpenJDK\jdk-15.0.2.7-hotspot\bin\java.exe
C:\ProgramData\Oracle\Java\javapath\java.exe
C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin\java.exe
C:\Program Files\OpenJDK\jdk-22.0.2\bin\java.exe

Я пробовал установить Java 11 и Java 8 как стандартные с помощью JAVA_HOME и PATH, но ошибка сохраняется. Запуск напрямую с помощью Java также не удается:

"C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin\java.exe" -jar "%LOCALAPPDATA%\Microsoft\WinGet\Links\protege.exe"

Ошибка: Неверный или поврежденный jar-файл %LOCALAPPDATA%\Microsoft\WinGet\Links\protege.exe

Как заставить Protégé запуститься правильно?

Установка Protégé с помощью WinGet на самом деле создает полную установку в каталоге пакетов. Вместо того, чтобы использовать ярлык protege.exe, вы можете запустить Protégé напрямую с помощью его пакетного файла:

"%LOCALAPPDATA%\Microsoft\WinGet\Packages\Stanford.Protege_Microsoft.Winget.Source_8wekyb3d8bbwe\Protege-5.6.4\run.bat"

Это корректно запускает Protégé, используя соответствующую конфигурацию Java из пакетного файла, а не полагаясь на настройки Java на уровне системы.

Если необходимо, вы можете создать ярлык на этот пакетный файл для более удобного доступа.

mklink "path\to\Desktop\Protégé.lnk" "path\to\Protege-5.6.4\run.bat"

Ответ или решение

Когда вы устанавливаете Protégé 5.6.4 с помощью WinGet и сталкиваетесь с ошибкой "Cannot find Java class", даже при наличии нескольких установленных версий JDK, это может вызывать недоумение. В данном ответе я постараюсь объяснить, как решить эту проблему, и предложить оптимальный способ запуска Protégé.

Проблема запуска Protégé

После успешной установки Protégé через WinGet, вы получили сообщение об ошибке при попытке запуска приложения, указывающее на то, что Java не может найти необходимый класс. Эта ошибка может возникать по нескольким причинам, связанным с конфигурацией Java на вашем компьютере.

Причины ошибки

  1. Несоответствующая версия Java: Protégé 5.6.4 требует определённой версии Java (обычно это Java 8 или Java 11). Убедитесь, что у вас установлена и настроена правильная версия Java, так как несовпадение версий может приводить к ошибкам при запуске.

  2. Неверные настройки переменных окружения: Если переменные окружения JAVA_HOME и PATH некорректно настроены или указывают на несколько установленных JDK, это может привести к конфликтам.

  3. Запуск через неправильный файл: Использование protege.exe напрямую может не сработать, поскольку этот исполняемый файл не является полным исполняемым Jar-файлом вашего приложения.

Решение проблемы

Для правильного запуска Protégé сделайте следующее:

  1. Запустите Protégé через run.bat:
    Вместо запуска исполняемого файла protege.exe, обратите внимание на скрипт run.bat, который создаётся в процессе установки. Он автоматически настроен для использования нужной версии Java и правильных параметров.

    Для запуска выполните следующую команду в командной строке:

    "%LOCALAPPDATA%\Microsoft\WinGet\Packages\Stanford.Protege_Microsoft.Winget.Source_8wekyb3d8bbwe\Protege-5.6.4\run.bat"

    Этот способ позволяет избежать проблем, связанных с неправильными настройками переменных среды.

  2. Создайте ярлык для удобства:
    Чтобы упростить доступ к Protégé, вы можете создать ярлык на рабочем столе, который будет указывать на run.bat. Для этого выполните команду:

    mklink "C:\path\to\Desktop\Protégé.lnk" "C:\path\to\Protege-5.6.4\run.bat"

    После создания ярлыка, вы сможете быстро запускать Protégé двойным щелчком по ярлыку.

Заключение

Если вы столкнулись с ошибкой "Cannot find Java class" при запуске Protégé 5.6.4, не следует паниковать. С помощью указанных рекомендаций вы сможете успешно запустить приложение. Использование скрипта run.bat вместо прямого запуска protege.exe значительно упростит процесс и уменьшит вероятность возникновения ошибок. Надеюсь, данная информация окажется для вас полезной!

Оцените материал
Добавить комментарий

Капча загружается...