Рубрики
Без рубрики

Создание собственного исполняемого файла в Windows с помощью GraalVM

Виртуальная машина Graal довольно удивительна по многим причинам. Но то, что меня больше всего возбуждает, – это способность… С пометкой java, виртуальная машина graal, windows, учебник.

Виртуальная машина Graal довольно удивительна по многим причинам . Но больше всего меня впечатлила возможность создавать собственные исполняемые файлы из байт-кода Java. Это не похоже на Excelsior JET (R.I.P.), который заставляет вас включать большую среду выполнения, и не похоже на Launch4J и инструмент Oracle javapackager , оба из которых создают фиктивные исполняемые файлы, указывающие на ваш .jar и упакованный JRE.

GraalVM создает реальные собственные исполняемые файлы без упакованной среды выполнения.

К сожалению, GraalVM native-image , как и вся его поддержка Windows, находится в статусе раннего пользователя. Есть некоторые сообщения об ошибках, которые не являются точными, некоторые ошибки и некоторые функции отсутствуют.

Но это действительно работает, более или менее.

Что нужно знать, прежде чем вы получите начатый

Минимальный размер файла для голых костей составляет около 8,5 МБ привет, мир java-приложение. Это довольно много, но и намного меньше, чем включение всего JRE.

В некоторых других статьях или руководствах рекомендуется установить Git для Windows и Python 2.7 , но я на 99% уверен, что это для создания виртуальной машины Graal перед запуском.

Все приложения Swing и JavaFX, которые я пробовал, не удалось создать в версии Windows native-image в 19.0.0.

Страница Параметры создания изображений является хорошим ресурсом для устранения неполадок, возможно, вам придется поместить некоторые из ваших классов в параметр --инициализировать во время выполнения=<список имен классов/пакетов, разделенных командами> .

Шаги по запуску собственного образа GraalVM 19.0.0 в Windows

  1. Удалите все распространяемые Visual C++ 2010 ы
  2. Получите версию Graal VM для Windows 19.0.0: https://github.com/oracle/graal/releases/tag/vm-19.0.0
  3. Извлеките его где-нибудь, где его легко найти
  4. Получите пакет Microsoft Windows SDK для Windows 7 и .NET Структура 4 (ISO): Структура 4 (ISO):
  5. Смонтируйте изображение, откройте F:\Setup\SDKSetup.exe
  6. непосредственно
  7. Установка по умолчанию должна быть идеальной Запустите командную строку Windows SDK 7.1 , перейдя в Начать > Microsoft Windows SDK v7.1 >
  8. Командная строка Windows SDK 7.1 Запустите одну из этих команд, основываясь на том, есть ли у вас .jar или .класс
\path\to\graalvm-ce-19.0.0\bin\native-image -jar \path\to\helloworld.jar --no-fallback

или

\path\to\graalvm-ce-19.0.0\bin\native-image \path\to\helloworld.class --no-fallback

*.опыт , *.библиотека , и *.pdb файлы кажутся артефактами процесса сборки, они не требуются для распространения.

Но это все, ваш .exe сделано!

Обновление: Начиная с GraalVM 19.3.0, по-прежнему отсутствует поддержка Swing или JavaFX.

Для GraalVM 19.3.0 в Windows с новой поддержкой Java 11 вам понадобится Visual Studio 2017 Community Edition вместо Microsoft Windows SDK для Windows 7 , который вы можете получить здесь с бесплатной учетной записью Visual Studio Dev Essentials. Вместо запуска командной строки Windows SDK 7.1 , вы, конечно, запустите командную строку x64 Native Tools для VS 2017 в качестве командной строки в Начать > Visual Studio 2017 .

Gluon работает над обеспечением поддержки JavaFX для 19.3.0 – она уже есть для macOS и Linux, и скоро должна появиться Windows.

Наконец, если вы распространяете exe-файл, созданный с помощью собственного образа в Windows, вам нужно будет включить vcruntime140.dll с ним, который составляет около 84 кб.

Оригинал: “https://dev.to/skhmt/creating-a-native-executable-in-windows-with-graalvm-3g7f”