Двойной щелчок для запуска исполняемых файлов на нескольких платформах, требуется предварительная регистрация типа файла в операционной системе или существующего типа файла, чтобы знать, как обрабатывать код.
jlink статически связывает «требуемые модули и их транзитивные зависимости» с выводом.
Нет кросс-платформенного решения этой проблемы.
Невероятно (или, иначе говоря, невозможно) включить все платформы в один файл, поскольку каждый тип исполняемых файлов (COFF, ELF ...) имеет свою структуру. Вы можете попытаться использовать универсальный пакетный файл для запуска подходящего исполняемого файла, но в Windows это потребует кодировки типа текстового файла; таким образом отравляя оставшийся двоичный код.
Используя jlink и , новый формат файла jmod позволит вам хранить собственный код в контейнере Java и, таким образом, разрешить точку входа во встроенный собственный код JRE в одном исполняемом образе для одна предопределенная платформа.
Другая сторона этой проблемы - последствия для безопасности. Поскольку встроенная JRE не подлежит обновлениям для системы безопасности, взломщики могут решить встроить ранее известную уязвимую версию JRE, тем самым предоставляя исправленные эксплойты неосведомленным потребителям.
Ожидаемый ответ от антивирусных программ - пометить все не обновленные встроенные JRE как вирусы.