I have a JavaFX
application which I can compile and create a jar file with the following maven configuration inside IntelliJ idea
:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<source>18</source>
<target>18</target>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.8</version>
<executions>
<execution>
<!-- Default configuration for running with: mvn clean javafx:run -->
<id>default-cli</id>
<configuration>
<mainClass>net.golbarg.nahjolfasahe/net.golbarg.nahjolfasahe.MainApp</mainClass>
<launcher>app</launcher>
<compress>2</compress>
<jlinkZipName>app</jlinkZipName>
<jlinkImageName>app</jlinkImageName>
<noManPages>true</noManPages>
<stripDebug>true</stripDebug>
<noHeaderFiles>true</noHeaderFiles>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/libs
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>libs/</classpathPrefix>
<mainClass>
net.golbarg.nahjolfasahe.MainApp
</mainClass>
</manifest>
</archive>
<finalName>setup</finalName>
</configuration>
</plugin>
</plugins>
</build>
But for running this jar file I had to run it as below:
"C:\Program Files\Java\jdk-18.0.1.1\bin\java.exe" --module-path "C:\Program Files\Java\javafx\javafx-sdk-19\lib" --add-modules javafx.controls,javafx.fxml,javafx.swing -Dfile.encoding=windows-1252 -jar C:\work\system\NahjolFasahe\target\setup.jar
adding --module-path
and --add-modules
parameters before running the jar file.
How can I simplify and add this settings either by editing the maven file or including it in the Manifest file of the builder jar file?
I want to make my jar file openable just by double clicking and include these configuration inside my jar file.