Я использую jpackage
(с JDK 14) для создания автономного приложения JavaFX.
Вывод jpackage
выглядит странно, он состоит из двух одинаковых копий JRE и все файлы в папке app
, кроме файла App.cfg
, могут быть удалены без проблем.
Может ли jpackage
не создавать ненужные файлы?
Что у меня есть:
У меня есть простой проект, созданный из архетипа Maven org.openjfx:javafx-archetype-simple:0.0.3
,И я просто добавил maven-shade-plugin
для создания jar с зависимостями и простой класс запуска для него (например, NewMain
class здесь ).
Я делаю:
mvn package
mvn javafx:jlink
jpackage --package-type app-image --dest targetApp --name App --runtime-image target/image --main-jar testApp-1.0-SNAPSHOT.jar --input target
В результате у меня есть две папки с JRE (абсолютно одинаковые):
targetApp\App\runtime
targetApp\App\app\image
и все файлы(и папки) (JRE (~ 53 МБ), Jar (~ 9 МБ), классы ...) в targetApp\App\app
можно безопасно удалить, кроме файла App.cfg
.
После удаления этих файлов язапустите targetApp\App\App.exe
и все работает нормально.
Удаление уменьшает размер App
со 118 до 56 МБ.
Дополнительныйвопрос : я использую Windows, и jpackage
генерирует результат для Windows (много файлов dll
и exe
), могу ли я создать отдельное приложение в Windows для Mac и Linux?