Hallo allerseits,
ich versuche derzeit eine ausführbare Jar eines Fx Projektes mit Maven zu erstellen. Allerdings scheitert dies an dem scheinbar weit verbreitetem "Problem" mit den Laufzeitkomponenten. Ich hatte gelesen, dass dies über die module-info behoben werden kann, jedoch zeigt dies bei mir keinerlei Erfolg. Wenn ich den Befehl "mvn javafx:run" ausführe, funktioniert dies soweit. Auch die jars werden fehlerfrei erzeugt, sowohl eine mit- und eine ohne Abhängigkeiten. Beim Versuch die jar allerdings auszuführen wird die Fehlermeldung "JavaFX runtime components are missing, and are required to run this application" gezeigt.
Anbei mal der Code aus der pom.fml und der module-info.java Datei. Über Tipps wäre ich sehr dankbar.
ich versuche derzeit eine ausführbare Jar eines Fx Projektes mit Maven zu erstellen. Allerdings scheitert dies an dem scheinbar weit verbreitetem "Problem" mit den Laufzeitkomponenten. Ich hatte gelesen, dass dies über die module-info behoben werden kann, jedoch zeigt dies bei mir keinerlei Erfolg. Wenn ich den Befehl "mvn javafx:run" ausführe, funktioniert dies soweit. Auch die jars werden fehlerfrei erzeugt, sowohl eine mit- und eine ohne Abhängigkeiten. Beim Versuch die jar allerdings auszuführen wird die Fehlermeldung "JavaFX runtime components are missing, and are required to run this application" gezeigt.
Anbei mal der Code aus der pom.fml und der module-info.java Datei. Über Tipps wäre ich sehr dankbar.
Java:
module fxmaven {
requires javafx.fxml;
requires javafx.controls;
requires javafx.graphics;
exports application;
}
XML:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>fxmaven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>fxmaven</name>
<description>des</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>15</maven.compiler.source>
<maven.compiler.target>15</maven.compiler.target>
</properties>
<!-- DEPENDENCIES -->
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>15</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>15</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<!-- COMPILE -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>15</release>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.5</version>
<configuration>
<release>11</release>
<jlinkImageName>hellofx</jlinkImageName>
<launcher>fxmaven</launcher>
<mainClass>fxmaven/application.Main</mainClass>
</configuration>
</plugin>
<!-- ASSEMBLY JAR -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<mainClass>application.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>