About

12 мар. 2022 г.

JavaFx Runnable Jar


Собрать runnable jar два способа.

Способ 1. Для любого (мавен, ант) проекта через артифакт в идее.

 1. Создать новый класс с методом мейн из которого вызывается javafx main:

public class Launcher {
public static void main(String[] args) {
Main.main(args);
}
}
2. Создать артифакт Project Structure -> Artifacts -> Add -> Jar -> From modules with dependencies
И указать главным классом Launcher.




3. Добавить из папки <javafx_home>/bin дллки в сборку






4. Сборка. Build -> Build artifacts -> <my_artifact> -> Build.
Появится папка out с довольно жирным джарником, запускаем даблкликом. 


Win!


Способ 2. Через мавеновский плагин.

1. Добавить мейн класс Launcher как в метода выше.
2. Добавляем в пом плагин:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>sample.Launcher</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
3. Собрать mvn clean install Соберется два джарника, <my_jar>-shaded.jar запускается даблкликом

Win!

0 comments:

Отправить комментарий