The JavaFX classes are there, but what about the native libraries? A fat jar isn’t a good way to distribute a Java application these days. Now you should probably be using jpackage and/or jlink to bundle your application classes with a runtime suitable for running the application.
Scott > On Jul 19, 2020, at 5:32 PM, Davide Perini <[email protected]> > wrote: > > Hi all, > thanks for the great project, I love JavaFX. > > I always used the maven plugin to crete fat jars with all my deps. The > resulting jar is an executable one and ready to use. > > This is my pom that create the fat jar. > > but when I try to exceute the jar I get this error: > > Error: JavaFX runtime components are missing, and are required to run this > appli > cation > > > if I explode the fat jar I can see that there are the javafx class in it. > what am I doing wrong? > > Thanks > Davide > > <plugin> <groupId>org.openjfx</groupId> > <artifactId>javafx-maven-plugin</artifactId> > <version>${javafx.maven.plugin.version}</version> <configuration> > <mainClass>org.dpsoftware.FastScreenCapture</mainClass> </configuration> > </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-assembly-plugin</artifactId> <configuration> > <outputDirectory>${project.build.directory}/</outputDirectory> > <finalName>JavaFastScreenCapture</finalName> </configuration> <executions> > <execution> <id>make-executable-jar-with-dependencies</id> > <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> > <archive> <manifest> <addClasspath>true</addClasspath> > <mainClass>org.dpsoftware.FastScreenCapture</mainClass> </manifest> > </archive> <descriptorRefs> > <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> > </configuration> </execution> </executions> </plugin> >
