Можно ли установить JDK только с javac
надежным способом, без удаления и добавления компонентов до тех пор, пока он не запустится (методом проб и ошибок)?
В моем сценарии использования я хотел бы создать Linux основанный Docker образ, который содержит несколько javac
версий, а затем использует том для предоставления исходных файлов для компиляции и один для получения скомпилированных файлов классов. Контейнер должен иметь возможность компилировать только Java классы, ничего больше.
Установка пакетов JDK из репозитория пакетов дистрибутива Linux и загрузка тех, которые недоступны в виде пакетов вручную из https://jdk.java.net/archive/, безусловно, вариант, но они довольно большие (~ 190 МБ каждая версия) и содержат дублированный контент и контент, не необходимый для компиляции.
Я заметил, что jmods/jdk.compiler.jmod
содержит javac
в bin
папка. Извлечь и выполнить его не удалось из-за отсутствия библиотек, поэтому я попытался объединить его содержимое с модулями, помеченными как требуется в module-info
:
Однако, когда я попытался запустить javac
, я получил:
Произошла ошибка при инициализации ВМ
Не удалось установить путь к классу загрузки.
Любые подсказки в правильном направлении приветствуются.