# Maven jpackage-image wird nicht gefunden



## Mart (14. Okt 2021)

```
<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>FinalGame5</groupId>
    <artifactId>NEXcg</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <properties>
        <!-- Application Properties -->
        <link.name>${project.artifactId}</link.name>
        <launcher>${project.artifactId}</launcher>
        <appName>${project.artifactId}</appName>
        <main.module>finalGame1</main.module>
        <maven.dependency.plugin>3.1.2</maven.dependency.plugin>
        <main.class>application.Main</main.class>
        <!-- Dependency Versions -->
        <java.version>16</java.version>
        <javafx.version>16</javafx.version>
        <jpackage.maven.plugin>0.1.3</jpackage.maven.plugin>
        <java.version>16</java.version>
        <javafx.version>16</javafx.version>
        <slf4j.version>1.7.32</slf4j.version>
        <moditect.maven.plugin>1.0.0.RC1</moditect.maven.plugin>
        <junit.version>5.7.2</junit.version>
        <mvvmfx.version>1.8.0</mvvmfx.version>
        <typetools.version>0.6.3</typetools.version>
    </properties>

    <build>
 
        <sourceDirectory>src</sourceDirectory>
    <resources>
        <resource>
            <directory>src</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/customize</directory>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/resources</directory>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/xml</directory>
            <filtering>false</filtering>
        </resource>
    </resources>
      <pluginManagement>
        <plugins>
          <plugin>
            <groupId>com.github.akman</groupId>
            <artifactId>jpackage-maven-plugin</artifactId>
            <version>0.1.3</version>
            <configuration>
              <toolhome>$‍{env.JPACKAGE_HOME}</toolhome>
              <dest>$‍{project.build.directory}/jpackage</dest>
              <name>appname</name>
              <type>IMAGE</type>
              <runtimeimage>$‍{project.build.directory}/jlink/runtime-image</runtimeimage>
              <appversion>1.0</appversion>
              <copyright>Copyright</copyright>
              <description>Description</description>
              <vendor>Vendor</vendor>
              <module>${main.module}/${main.class}</module>
              <arguments>--opt</arguments>
              <javaoptions>-Dfile.encoding=UTF-8 -Xms256m -Xmx512m</javaoptions>
              <addlaunchers>
                <addlauncher>
                  <name>appname-cli</name>
                  <module>appModuleName/appClassName</module>
                  <arguments>--help</arguments>
                  <javaoptions>-Xms256m -Xmx512m</javaoptions>
                  <appversion>1.0</appversion>
                  <icon>$‍{project.basedir}/config/jpackage/resources/appname-cli.ico</icon>
                  <winconsole>true</winconsole>
                </addlauncher>
              </addlaunchers>
              <resourcedir>$‍{project.basedir}/config/jpackage/resources</resourcedir>
 
            </configuration>
          </plugin>
        </plugins>
      </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>${maven.dependency.plugin}</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/modules</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <release>16</release>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <mainClass>application.Main</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.moditect</groupId>
                <artifactId>moditect-maven-plugin</artifactId>
                <version>${moditect.maven.plugin}</version>
                <executions>
                    <execution>
                        <id>add-module-info-to-dependencies</id>
                        <phase>package</phase>
                        <configuration>
                            <outputDirectory>${project.build.directory}/modules</outputDirectory>
                            <overwriteExistingFiles>true</overwriteExistingFiles>
                            <modules>
                                <module>
                                    <artifact>
                                        <groupId>org.slf4j</groupId>
                                        <artifactId>slf4j-api</artifactId>
                                    </artifact>
                                    <moduleInfo>
                                        <name>org.slf4j.slf4japi</name>
                                    </moduleInfo>
                                </module>
                            </modules>

                            <module>
                                <mainClass>${main.class}</mainClass>
                                <moduleInfoFile>${project.build.sourceDirectory}/module-info.java</moduleInfoFile>
                            </module>

                            <jdepsExtraArgs>
                                --ignore-missing-deps
                            </jdepsExtraArgs>
                        </configuration>
                        <goals>
                            <goal>add-module-info</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>create-runtime-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>create-runtime-image</goal>
                        </goals>
                        <configuration>
                            <modulePath>
                                <path>${project.build.directory}/modules</path>
                            </modulePath>
                            <modules>
                                <module>${main.module}</module>
                            </modules>
                            <launcher>
                                <name>${launcher}</name>
                                <module>${main.module}</module>
                            </launcher>
                            <compression>2</compression>
                            <stripDebug>true</stripDebug>
                            <outputDirectory>${project.build.directory}/jlink-image</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
          <plugin>
            <groupId>com.github.akman</groupId>
            <artifactId>jpackage-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>jpackage-image</id>
                <phase>verify</phase>
                <goals>
                  <goal>jpackage</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
     
</plugins>
    </build>

    <dependencies>

        <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/exec-maven-plugin -->
        <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-graphics -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-base</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-web -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-web</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-fxml -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>${javafx.version}</version>
        </dependency>
    </dependencies>
</project>
```

ich weis nicht warum das jpackage-image nicht gefunden wird es kommt diese fehlermeldung

```
[INFO]
[INFO] --- moditect-maven-plugin:1.0.0.RC1:add-module-info (add-module-info-to-dependencies) @ NEXcg ---
Warning: --ignore-missing-deps specified. Missing dependencies from org.slf4j are ignored
writing to /home/legacy/Downloads/fg/FinalGame/target/moditect/org.slf4j/module-info.java
[INFO] Created module descriptor at /home/legacy/Downloads/fg/FinalGame/target/moditect/generated-sources/org.slf4j.slf4japi/module-info.java
[INFO]
[INFO] --- moditect-maven-plugin:1.0.0.RC1:create-runtime-image (create-runtime-image) @ NEXcg ---
[INFO]
[INFO] --- jpackage-maven-plugin:0.1.3:jpackage (jpackage-image) @ NEXcg ---
[WARNING] Unable to read ${project.build.sourceEncoding}
[INFO] Version of [jpackage]: 16.0.1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  13.695 s
[INFO] Finished at: 2021-10-14T17:58:02+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.akman:jpackage-maven-plugin:0.1.3:jpackage (jpackage-image) on project NEXcg: Error: Unable to resolve project dependencies: Cannot run program "/usr/bin/bin/java" (in directory "/tmp/plexus-java_jpms-3440302117355200255"): error=2, Datei oder Verzeichnis nicht gefunden -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
```

bin gerade auf linux unterwegs mit diesem java

```
openjdk 16.0.1 2021-04-20
OpenJDK Runtime Environment (build 16.0.1+9-Ubuntu-1)
OpenJDK 64-Bit Server VM (build 16.0.1+9-Ubuntu-1, mixed mode, sharing)
```

der befehl war mvn clean install


lustigerweise liegt in target/jlink-image/bin/ die ausführbare datei die auch funktioniert nur ich nehme an die ganzen warnungen und errors kommen nicht ohne grund


----------



## kneitzel (14. Okt 2021)

Das jlink-image kommt von jlink. Nur beim jpackage Aufruf läuft etwas falsch. Aber keine Ahnung was - evtl. hast Du etwas falsch konfiguriert. Die Fehlermeldung selbst:
Error: Unable to resolve project dependencies: Cannot run program "/usr/bin/bin/java" (in directory "/tmp/plexus-java_jpms-3440302117355200255"): error=2, Datei oder Verzeichnis nicht gefunden -> [Help 1]

Das /usr/bin/bin/java ist ja auch definitiv falsch. Aber warum er meint, darauf zugreifen zu müssen?


----------



## Mart (14. Okt 2021)

```
legacy@lenovo-lap:/usr/bin$ ls | grep java
java
javac
javadoc
javap
```
lustigerweise ist da das java auch drin aber warum kann es das nicht starten bzw warum überhaupt das
hatte java mit sudo apt install openjdk-16... isntalliert gehabt und dann noch maven installiert

wenn ich versuch die datei die angegeben ist mit java auszuführen
kommt das raus

```
legacy@lenovo-lap:/tmp$ java plexus-java_jpms-3440302117355200255
Fehler: Hauptklasse plexus-java_jpms-3440302117355200255 konnte nicht gefunden oder geladen werden
Ursache: java.lang.ClassNotFoundException: plexus-java_jpms-3440302117355200255
```


----------



## Mart (14. Okt 2021)

der Fehler tritt auch nur bei mvn clean install auf und nicht bei mvn clean package


----------



## sascha-sphw (15. Okt 2021)

kneitzel hat gesagt.:


> /usr/bin/bin


ist nicht gleich


Mart hat gesagt.:


> /usr/bin


----------



## kneitzel (15. Okt 2021)

Ich würde vermuten, dass da ein falsches JAVA_HOME gesetzt ist. Aber da schon wieder die Konfiguartion zu prüfen und so - auf einem Linux System ist es schon schwer, sich etwas zu zerhauen ...


----------



## mrBrown (15. Okt 2021)

Auf was ist denn `env.JPACKAGE_HOME` gesetzt?


----------



## Mart (15. Okt 2021)

mrBrown hat gesagt.:


> Auf was ist denn `env.JPACKAGE_HOME` gesetzt?


wo finde ich dieses ? wenn ich printenv mache finde ich es da nicht



```
legacy@lenovo-lap:~$ whereis java
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
legacy@lenovo-lap:~$ source /etc/environment
legacy@lenovo-lap:~$ mvn -version
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 16.0.1, vendor: Private Build, runtime: /usr/lib/jvm/java-16-openjdk-amd64
Default locale: de_DE, platform encoding: UTF-8
OS name: "linux", version: "5.13.0-7614-generic", arch: "amd64", family: "unix"
```
ka ob dir der output  hilft, ich finde nicht mal die javahome variable


----------



## mrBrown (15. Okt 2021)

Du nutzt es in deiner pom.xml: `<toolhome>$‍{env.JPACKAGE_HOME}</toolhome>`, hast du die Variable nicht gesetzt?

Zeig sonst mal, wie JAVA_HOME gesetzt ist.


----------



## Mart (15. Okt 2021)

nach stakcoverflow hab ich das mal suprobiert https://stackoverflow.com/questions/1117398/java-home-directory-in-linux

```
legacy@lenovo-lap:~$ $(dirname $(dirname $(readlink -f $(which javac))))
bash: /usr/lib/jvm/java-16-openjdk-amd64: Ist ein Verzeichnis
```
und echo $JAVA_HOME gibt gar nix aus 

in meiner aktuellen pom ist mir nichts bekannt wo ich das gesetzt hätte

```
<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>FinalGame5</groupId>
    <artifactId>NEXcg</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    
    <properties>
        <!-- Application Properties -->
        <link.name>${project.artifactId}</link.name>
        <launcher>${project.artifactId}</launcher>
        <appName>${project.artifactId}</appName>
        <main.module>finalGame1</main.module>
        <maven.dependency.plugin>3.1.2</maven.dependency.plugin>
        <main.class>application.Main</main.class>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- Dependency Versions -->
        <java.version>16</java.version>
        <javafx.version>${java.version}</javafx.version>
        <jpackage.maven.plugin>0.1.3</jpackage.maven.plugin>
        <slf4j.version>1.7.32</slf4j.version>
        <moditect.maven.plugin>1.0.0.RC1</moditect.maven.plugin>
        <junit.version>5.7.2</junit.version>
        <mvvmfx.version>1.8.0</mvvmfx.version>
        <typetools.version>0.6.3</typetools.version>
    </properties>

    <build>
    
        <sourceDirectory>src</sourceDirectory>
    <resources>
        <resource>
            <directory>src</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/customize</directory>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/resources</directory>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/xml</directory>
            <filtering>false</filtering>
        </resource>
    </resources>
      <pluginManagement>
        <plugins>
          <plugin>
            <groupId>com.github.akman</groupId>
            <artifactId>jpackage-maven-plugin</artifactId>
            <version>0.1.3</version>
            <configuration>
              <toolhome>$‍{env.JPACKAGE_HOME}</toolhome>
              <dest>$‍{project.build.directory}/jpackage</dest>
              <name>appname</name>
              <type>IMAGE</type>
              <runtimeimage>$‍{project.build.directory}/jlink/runtime-image</runtimeimage>
              <appversion>1.0</appversion>
              <copyright>Copyright</copyright>
              <description>Description</description>
              <vendor>Vendor</vendor>
              <module>${main.module}/${main.class}</module>
              <arguments>--opt</arguments>
              <javaoptions>-Dfile.encoding=UTF-8 -Xms256m -Xmx512m</javaoptions>
              <addlaunchers>
                <addlauncher>
                  <name>appname-cli</name>
                  <module>appModuleName/appClassName</module>
                  <arguments>--help</arguments>
                  <javaoptions>-Xms256m -Xmx512m</javaoptions>
                  <appversion>1.0</appversion>
                  <icon>$‍{project.basedir}/config/jpackage/resources/appname-cli.ico</icon>
                  <winconsole>true</winconsole>
                </addlauncher>
              </addlaunchers>
              <resourcedir>$‍{project.basedir}/config/jpackage/resources</resourcedir>
 
            </configuration>
          </plugin>
        </plugins>
      </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>${maven.dependency.plugin}</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/modules</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <release>16</release>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <mainClass>application.Main</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.moditect</groupId>
                <artifactId>moditect-maven-plugin</artifactId>
                <version>${moditect.maven.plugin}</version>
                <executions>
                    <execution>
                        <id>add-module-info-to-dependencies</id>
                        <phase>package</phase>
                        <configuration>
                            <outputDirectory>${project.build.directory}/modules</outputDirectory>
                            <overwriteExistingFiles>true</overwriteExistingFiles>
                            <modules>
                                <module>
                                    <artifact>
                                        <groupId>org.slf4j</groupId>
                                        <artifactId>slf4j-api</artifactId>
                                    </artifact>
                                    <moduleInfo>
                                        <name>org.slf4j.slf4japi</name>
                                    </moduleInfo>
                                </module>
                            </modules>

                            <module>
                                <mainClass>${main.class}</mainClass>
                                <moduleInfoFile>${project.build.sourceDirectory}/module-info.java</moduleInfoFile>
                            </module>

                            <jdepsExtraArgs>
                                --ignore-missing-deps
                            </jdepsExtraArgs>
                        </configuration>
                        <goals>
                            <goal>add-module-info</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>create-runtime-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>create-runtime-image</goal>
                        </goals>
                        <configuration>
                            <modulePath>
                                <path>${project.build.directory}/modules</path>
                            </modulePath>
                            <modules>
                                <module>${main.module}</module>
                            </modules>
                            <launcher>
                                <name>${launcher}</name>
                                <module>${main.module}</module>
                            </launcher>
                            <compression>2</compression>
                            <stripDebug>true</stripDebug>
                            <outputDirectory>${project.build.directory}/jlink-image</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
          <plugin>
            <groupId>com.github.akman</groupId>
            <artifactId>jpackage-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>jpackage-image</id>
                <phase>verify</phase>
                <goals>
                  <goal>jpackage</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        
</plugins>
    </build>

    <dependencies>

        <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/exec-maven-plugin -->
        <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-graphics -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-base</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-web -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-web</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-fxml -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>${javafx.version}</version>
        </dependency>
    </dependencies>
</project>
```


----------



## mrBrown (15. Okt 2021)

Mart hat gesagt.:


> in meiner aktuellen pom ist mir nichts bekannt wo ich das gesetzt hätte


Zeile 59. (Wenn du nicht Java sondern XML für's Highlighting nutzt, sieht man das auch vernünftig  )



Mart hat gesagt.:


> und echo $JAVA_HOME gibt gar nix aus


Dann setz das mal


----------



## Mart (15. Okt 2021)

also ich habe jetzt java home gesetzt nach einem script das immer das aktuellste nimtm jetzt hab ich auch den java home pfad

```
/usr/lib/jvm/java-16-openjdk-amd64
```
bei mvn clean install -e kommt das jetzt raus 


```
legacy@lenovo-lap:~/Downloads/fg/FinalGame$ mvn clean install -e
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< FinalGame5:NEXcg >--------------------------
[INFO] Building NEXcg 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ NEXcg ---
[INFO] Deleting /home/legacy/Downloads/fg/FinalGame/target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ NEXcg ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 15 resources
[INFO] skip non existing resourceDirectory /home/legacy/Downloads/fg/FinalGame/src/main/java/com/test/customize
[INFO] skip non existing resourceDirectory /home/legacy/Downloads/fg/FinalGame/src/main/java/com/test/resources
[INFO] skip non existing resourceDirectory /home/legacy/Downloads/fg/FinalGame/src/main/java/com/test/xml
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ NEXcg ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 29 source files to /home/legacy/Downloads/fg/FinalGame/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ NEXcg ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/legacy/Downloads/fg/FinalGame/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ NEXcg ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ NEXcg ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ NEXcg ---
[INFO] Building jar: /home/legacy/Downloads/fg/FinalGame/target/NEXcg-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- maven-dependency-plugin:3.1.2:copy-dependencies (copy-dependencies) @ NEXcg ---
[INFO] Copying exec-maven-plugin-3.0.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/exec-maven-plugin-3.0.0.jar
[INFO] Copying maven-model-3.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-model-3.0.jar
[INFO] Copying maven-artifact-3.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-artifact-3.0.jar
[INFO] Copying maven-core-3.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-core-3.0.jar
[INFO] Copying maven-settings-3.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-settings-3.0.jar
[INFO] Copying maven-settings-builder-3.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-settings-builder-3.0.jar
[INFO] Copying maven-repository-metadata-3.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-repository-metadata-3.0.jar
[INFO] Copying maven-model-builder-3.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-model-builder-3.0.jar
[INFO] Copying maven-aether-provider-3.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-aether-provider-3.0.jar
[INFO] Copying aether-impl-1.7.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/aether-impl-1.7.jar
[INFO] Copying aether-spi-1.7.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/aether-spi-1.7.jar
[INFO] Copying aether-api-1.7.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/aether-api-1.7.jar
[INFO] Copying aether-util-1.7.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/aether-util-1.7.jar
[INFO] Copying sisu-inject-plexus-1.4.2.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/sisu-inject-plexus-1.4.2.jar
[INFO] Copying sisu-inject-bean-1.4.2.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/sisu-inject-bean-1.4.2.jar
[INFO] Copying sisu-guice-2.1.7-noaop.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/sisu-guice-2.1.7-noaop.jar
[INFO] Copying plexus-interpolation-1.14.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/plexus-interpolation-1.14.jar
[INFO] Copying plexus-classworlds-2.2.3.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/plexus-classworlds-2.2.3.jar
[INFO] Copying plexus-component-annotations-1.5.5.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/plexus-component-annotations-1.5.5.jar
[INFO] Copying plexus-sec-dispatcher-1.3.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/plexus-sec-dispatcher-1.3.jar
[INFO] Copying plexus-cipher-1.4.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/plexus-cipher-1.4.jar
[INFO] Copying maven-plugin-api-3.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-plugin-api-3.0.jar
[INFO] Copying plexus-utils-3.0.20.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/plexus-utils-3.0.20.jar
[INFO] Copying commons-exec-1.3.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/commons-exec-1.3.jar
[INFO] Copying maven-artifact-transfer-0.10.1.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-artifact-transfer-0.10.1.jar
[INFO] Copying maven-common-artifact-filters-3.0.1.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-common-artifact-filters-3.0.1.jar
[INFO] Copying maven-shared-utils-3.1.0.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/maven-shared-utils-3.1.0.jar
[INFO] Copying commons-io-2.5.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/commons-io-2.5.jar
[INFO] Copying commons-codec-1.11.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/commons-codec-1.11.jar
[INFO] Copying slf4j-api-1.7.32.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/slf4j-api-1.7.32.jar
[INFO] Copying javafx-controls-16.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-controls-16.jar
[INFO] Copying javafx-controls-16-linux.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-controls-16-linux.jar
[INFO] Copying javafx-graphics-16.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-graphics-16.jar
[INFO] Copying javafx-graphics-16-linux.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-graphics-16-linux.jar
[INFO] Copying javafx-base-16.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-base-16.jar
[INFO] Copying javafx-base-16-linux.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-base-16-linux.jar
[INFO] Copying javafx-web-16.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-web-16.jar
[INFO] Copying javafx-web-16-linux.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-web-16-linux.jar
[INFO] Copying javafx-media-16.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-media-16.jar
[INFO] Copying javafx-media-16-linux.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-media-16-linux.jar
[INFO] Copying javafx-fxml-16.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-fxml-16.jar
[INFO] Copying javafx-fxml-16-linux.jar to /home/legacy/Downloads/fg/FinalGame/target/modules/javafx-fxml-16-linux.jar
[INFO]
[INFO] --- moditect-maven-plugin:1.0.0.RC1:add-module-info (add-module-info-to-dependencies) @ NEXcg ---
Warning: --ignore-missing-deps specified. Missing dependencies from org.slf4j are ignored
writing to /home/legacy/Downloads/fg/FinalGame/target/moditect/org.slf4j/module-info.java
[INFO] Created module descriptor at /home/legacy/Downloads/fg/FinalGame/target/moditect/generated-sources/org.slf4j.slf4japi/module-info.java
[INFO]
[INFO] --- moditect-maven-plugin:1.0.0.RC1:create-runtime-image (create-runtime-image) @ NEXcg ---
[INFO]
[INFO] --- jpackage-maven-plugin:0.1.3:jpackage (jpackage-image) @ NEXcg ---
[INFO] Version of [jpackage]: 16.0.1
[ERROR]
Exit code: 1
[ERROR]
Command line was: /usr/lib/jvm/java-16-openjdk-amd64/bin/jpackage @/home/legacy/Downloads/fg/FinalGame/target/jpackage.opts
[ERROR]
Command options was:
# jpackage
--dest /home/legacy/Downloads/fg/FinalGame/$‍{project.build.directory}/jpackage
--type app-image
--app-version '1.0'
--copyright 'Copyright'
--description 'Description'
--name 'appname'
--vendor 'Vendor'
--runtime-image /home/legacy/Downloads/fg/FinalGame/$‍{project.build.directory}/jlink/runtime-image
--module finalGame1/application.Main
--arguments '--opt'
--java-options '-Dfile.encoding=UTF-8 -Xms256m -Xmx512m'
--add-launcher appname-cli=/home/legacy/Downloads/fg/FinalGame/target/launcher.3637563029900007212.properties
--resource-dir /home/legacy/Downloads/fg/FinalGame/$‍{project.basedir}/config/jpackage/resources
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  14.176 s
[INFO] Finished at: 2021-10-15T13:29:29+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.akman:jpackage-maven-plugin:0.1.3:jpackage (jpackage-image) on project NEXcg: Error: Tool execution failed [jpackage] with exit code: 1 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.akman:jpackage-maven-plugin:0.1.3:jpackage (jpackage-image) on project NEXcg: Error: Tool execution failed [jpackage] with exit code: 1
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:78)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:567)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error: Tool execution failed [jpackage] with exit code: 1
    at ru.akman.maven.plugins.jpackage.JPackageMojo.execute (JPackageMojo.java:1926)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:78)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:567)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
```

und nochmal die pom als 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>FinalGame5</groupId>
    <artifactId>NEXcg</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    
    <properties>
        <!-- Application Properties -->
        <link.name>${project.artifactId}</link.name>
        <launcher>${project.artifactId}</launcher>
        <appName>${project.artifactId}</appName>
        <main.module>finalGame1</main.module>
        <maven.dependency.plugin>3.1.2</maven.dependency.plugin>
        <main.class>application.Main</main.class>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- Dependency Versions -->
        <java.version>16</java.version>
        <javafx.version>${java.version}</javafx.version>
        <jpackage.maven.plugin>0.1.3</jpackage.maven.plugin>
        <slf4j.version>1.7.32</slf4j.version>
        <moditect.maven.plugin>1.0.0.RC1</moditect.maven.plugin>
        <junit.version>5.7.2</junit.version>
        <mvvmfx.version>1.8.0</mvvmfx.version>
        <typetools.version>0.6.3</typetools.version>
    </properties>

    <build>
    
        <sourceDirectory>src</sourceDirectory>
    <resources>
        <resource>
            <directory>src</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/customize</directory>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/resources</directory>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/xml</directory>
            <filtering>false</filtering>
        </resource>
    </resources>
      <pluginManagement>
        <plugins>
          <plugin>
            <groupId>com.github.akman</groupId>
            <artifactId>jpackage-maven-plugin</artifactId>
            <version>0.1.3</version>
            <configuration>
              <toolhome>$‍{env.JPACKAGE_HOME}</toolhome>
              <dest>$‍{project.build.directory}/jpackage</dest>
              <name>appname</name>
              <type>IMAGE</type>
              <runtimeimage>$‍{project.build.directory}/jlink/runtime-image</runtimeimage>
              <appversion>1.0</appversion>
              <copyright>Copyright</copyright>
              <description>Description</description>
              <vendor>Vendor</vendor>
              <module>${main.module}/${main.class}</module>
              <arguments>--opt</arguments>
              <javaoptions>-Dfile.encoding=UTF-8 -Xms256m -Xmx512m</javaoptions>
              <addlaunchers>
                <addlauncher>
                  <name>appname-cli</name>
                  <module>appModuleName/appClassName</module>
                  <arguments>--help</arguments>
                  <javaoptions>-Xms256m -Xmx512m</javaoptions>
                  <appversion>1.0</appversion>
                  <icon>$‍{project.basedir}/config/jpackage/resources/appname-cli.ico</icon>
                  <winconsole>true</winconsole>
                </addlauncher>
              </addlaunchers>
              <resourcedir>$‍{project.basedir}/config/jpackage/resources</resourcedir>
 
            </configuration>
          </plugin>
        </plugins>
      </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>${maven.dependency.plugin}</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/modules</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <release>16</release>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <mainClass>application.Main</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.moditect</groupId>
                <artifactId>moditect-maven-plugin</artifactId>
                <version>${moditect.maven.plugin}</version>
                <executions>
                    <execution>
                        <id>add-module-info-to-dependencies</id>
                        <phase>package</phase>
                        <configuration>
                            <outputDirectory>${project.build.directory}/modules</outputDirectory>
                            <overwriteExistingFiles>true</overwriteExistingFiles>
                            <modules>
                                <module>
                                    <artifact>
                                        <groupId>org.slf4j</groupId>
                                        <artifactId>slf4j-api</artifactId>
                                    </artifact>
                                    <moduleInfo>
                                        <name>org.slf4j.slf4japi</name>
                                    </moduleInfo>
                                </module>
                            </modules>

                            <module>
                                <mainClass>${main.class}</mainClass>
                                <moduleInfoFile>${project.build.sourceDirectory}/module-info.java</moduleInfoFile>
                            </module>

                            <jdepsExtraArgs>
                                --ignore-missing-deps
                            </jdepsExtraArgs>
                        </configuration>
                        <goals>
                            <goal>add-module-info</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>create-runtime-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>create-runtime-image</goal>
                        </goals>
                        <configuration>
                            <modulePath>
                                <path>${project.build.directory}/modules</path>
                            </modulePath>
                            <modules>
                                <module>${main.module}</module>
                            </modules>
                            <launcher>
                                <name>${launcher}</name>
                                <module>${main.module}</module>
                            </launcher>
                            <compression>2</compression>
                            <stripDebug>true</stripDebug>
                            <outputDirectory>${project.build.directory}/jlink-image</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
          <plugin>
            <groupId>com.github.akman</groupId>
            <artifactId>jpackage-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>jpackage-image</id>
                <phase>verify</phase>
                <goals>
                  <goal>jpackage</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        
</plugins>
    </build>

    <dependencies>

        <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/exec-maven-plugin -->
        <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-graphics -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-base</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-web -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-web</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-fxml -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>${javafx.version}</version>
        </dependency>
    </dependencies>
</project>
```


----------



## kneitzel (15. Okt 2021)

Bitte: Wenn Du an der Konfiguration was machst, dann schau, dass Du die Settings, die Du vornimmst, auch halbwegs verstehst. Sonst bekommst Du von mir irgendwann ein exec Plugin mit einer Config die alles löscht oder so ... (Ganz nach BOFH: Es gibt kein Problem, das man nicht durch löschen von Dateien oder User Accounts lösen könnte!)

Das problematische: `<toolhome>$‍{env.JPACKAGE_HOME}</toolhome>` ist von @mrBrown angesprochen worden: Was macht das Deiner Meinung? Vielleicht willst Du so ein Setting einfach mal heraus nehmen? (Gut gesehen - ich habe das beim Überfliegen der pom.xml tatsächlich übersehen!)

Ansonsten gibt dir Maven den Aufruf im Detail aus:
jpackage
--dest /home/legacy/Downloads/fg/FinalGame/$‍{project.build.directory}/jpackage
--type app-image
--app-version '1.0'
--copyright 'Copyright'
--description 'Description'
--name 'appname'
--vendor 'Vendor'
--runtime-image /home/legacy/Downloads/fg/FinalGame/$‍{project.build.directory}/jlink/runtime-image
--module finalGame1/application.Main
--arguments '--opt'
--java-options '-Dfile.encoding=UTF-8 -Xms256m -Xmx512m'
--add-launcher appname-cli=/home/legacy/Downloads/fg/FinalGame/target/launcher.3637563029900007212.properties
--resource-dir /home/legacy/Downloads/fg/FinalGame/$‍{project.basedir}/config/jpackage/resources

Das ist dann ansonsten auch der ideale Ansatzpunkt, um dem Problem auf die Spuren zu kommen. Was passiert, wenn Du das von Hand aufrufst?


----------



## Mart (15. Okt 2021)

ich denke ich habe jetzt auch nach mehr ausprobieren was gefdunen in der pom was nicht passt

```
legacy@lenovo-lap:/usr/lib/jvm/java-16-openjdk-amd64/bin$ /usr/lib/jvm/java-16-openjdk-amd64/bin/jpackage @/home/legacy/Downloads/fg/FinalGame/target/jpackage.opts
Specified resource directory resource-dir: /home/legacy/Downloads/fg/FinalGame/$‍{project.basedir}/config/jpackage/resources does not exist
```
also das ${project.basedir} gibts glaube ich nicht mal


----------



## Mart (15. Okt 2021)

```
legacy@lenovo-lap:~/Downloads/fg/FinalGame$ mvn jpackage:jpackage
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< FinalGame5:NEXcg >--------------------------
[INFO] Building NEXcg 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- jpackage-maven-plugin:0.1.3:jpackage (default-cli) @ NEXcg ---
[INFO] Version of [jpackage]: 16.0.1
[ERROR]
Exit code: 1
[ERROR]
Command line was: /usr/lib/jvm/java-16-openjdk-amd64/bin/jpackage @/home/legacy/Downloads/fg/FinalGame/target/jpackage.opts
[ERROR]
Command options was:
# jpackage
--dest /home/legacy/Downloads/fg/FinalGame/$‍{project.build.directory}/jpackage
--type app-image
--app-version '1.0'
--copyright 'Copyright'
--description 'Description'
--name 'appname'
--vendor 'Vendor'
--runtime-image /home/legacy/Downloads/fg/FinalGame/$‍{project.build.directory}/jlink/runtime-image
--module finalGame1/application.Main
--arguments '--opt'
--java-options '-Dfile.encoding=UTF-8 -Xms256m -Xmx512m'
--add-launcher appname-cli=/home/legacy/Downloads/fg/FinalGame/target/launcher.5336631776190809418.properties
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.987 s
[INFO] Finished at: 2021-10-15T14:24:49+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.akman:jpackage-maven-plugin:0.1.3:jpackage (default-cli) on project NEXcg: Error: Tool execution failed [jpackage] with exit code: 1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
```
wenn ich mvn clean package durchlaufen lasse und dann das mvn jpackage:jpackage verscuhe komme ich wieder an den command lne error nur ich weis nicht wo ich da überhaupt bin... wahrschienlich in der pom.xml bei jpackage nur was soll da passieren

EDIT beim ausführen bekomme ich sogar mal was anderes

```
legacy@lenovo-lap:~/Downloads/fg/FinalGame$ /usr/lib/jvm/java-16-openjdk-amd64/bin/jpackage @/home/legacy/Downloads/fg/FinalGame/target/jpackage.opts
Specified runtime image directory runtime-image: /home/legacy/Downloads/fg/FinalGame/$‍{project.build.directory}/jlink/runtime-image does not exist
```
der find befehl findet auch nicht die runtime-image datei also da fehlt noch was


----------



## mrBrown (15. Okt 2021)

Ruf jpackage mal per Hand auf, statt über maven. Aufruf inklusive aller Argumente steht ja dort


----------



## Mart (15. Okt 2021)

mrBrown hat gesagt.:


> Ruf jpackage mal per Hand auf, statt über maven. Aufruf inklusive aller Argumente steht ja dort


ja da kommt das raus dass die runtime image nicht gibtund die gibts tatsächlich niccht


----------



## Mart (15. Okt 2021)

```
--runtime-image /home/legacy/Downloads/fg/FinalGame/$‍{project.build.directory}/jlink/runtime-image
```
dieser parameter stimmt nicht, es gibt die datei nicht, aber sie wird nicht von der pom erstellt was halt blöd ist 

 wahrscheinlich auch die ursache der katastrophe ist


----------



## Mart (15. Okt 2021)

```
<configuration>
                            <modulePath>
                                <path>${project.build.directory}/modules</path>
                            </modulePath>
                            <modules>
                                <module>${main.module}</module>
                            </modules>
                            <launcher>
                                <name>${launcher}</name>
                                <module>${main.module}</module>
                            </launcher>
                            <compression>2</compression>
                            <stripDebug>true</stripDebug>
                            <outputDirectory>${project.build.directory}/jlink-image</outputDirectory>
                        </configuration>
```
bei dem moditect plugin in der pom "sollte" wahrscheinlich das jlink image gebaut werden
nur das ist halt ein ordner und keine datei


----------



## kneitzel (15. Okt 2021)

Mart hat gesagt.:


> also das ${project.basedir} gibts glaube ich nicht mal


Natürlich gibt es das, denn das wird ja auch aufgelöst zu:

```
[INFO] skip non existing resourceDirectory /home/legacy/Downloads/fg/FinalGame/src/main/java/com/test/customize
[INFO] skip non existing resourceDirectory /home/legacy/Downloads/fg/FinalGame/src/main/java/com/test/resources
[INFO] skip non existing resourceDirectory /home/legacy/Downloads/fg/FinalGame/src/main/java/com/test/xml
```

Nur eben gibst Du Resource Ordner an, die es nicht gibt und die innerhalb eines bereits berücksichtigen Resource Ordner liegen (Was geht, aber so in der Regel keinen Sinn macht).

Daher von mir der Punkt bezüglich


kneitzel hat gesagt.:


> Bitte: Wenn Du an der Konfiguration was machst, dann schau, dass Du die Settings, die Du vornimmst, auch halbwegs verstehst.





Mart hat gesagt.:


> bei dem moditect plugin in der pom "sollte" wahrscheinlich das jlink image gebaut werden


Ja! Aber wo wird es gebaut? Da gibt es die Einstellung:
`<outputDirectory>${project.build.directory}/jlink-image</outputDirectory>`

Wo wird das Image dann gebaut? Macht es denn dann Sinn, es unter
`<runtimeimage>$‍{project.build.directory}/jlink/runtime-image</runtimeimage>`
nutzen zu wollen?

*Daher - ich haue es Dir noch einmal um die Ohren - von mir der Punkt bezüglich:*


kneitzel hat gesagt.:


> Bitte: Wenn Du an der Konfiguration was machst, dann schau, dass Du die Settings, die Du vornimmst, auch halbwegs verstehst.



Und ich hatte doch auch Dir das mit der POM einmal gegeben. Und das ging dann nach Deiner Aussage. Warum bastelst Du - ohne tiefes Verständnis - an der POM immer weiter rum? Wenn Du etwas änderst, dann teste es. Und wenn es nicht geht, dann vergleich Vorher und Nachher ... der Stand vorher war - in der von mir gestellten POM - etwas wie:

```
<plugin>
                <groupId>com.github.akman</groupId>
                <artifactId>jpackage-maven-plugin</artifactId>
                <version>${jpackage.maven.plugin}</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jpackage</goal>
                        </goals>
                        <configuration>
                            <name>${appName}</name>
                            <type>IMAGE</type>
                            <runtimeimage>${project.build.directory}/jlink-image</runtimeimage>
                            <module>${main.module}/${main.class}</module>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
```

Also nur einmal das eine Setting, das offensichtlich nicht stimmig ist bei dir mal zum Vergleich:
`<runtimeimage>${project.build.directory}/jlink-image</runtimeimage>`

Und dann einfach noch einmal bei dir aktuell:
`<runtimeimage>$‍{project.build.directory}/jlink/runtime-image</runtimeimage>`

Erstellt wird es aber bei Dir unter:
`<outputDirectory>${project.build.directory}/jlink-image</outputDirectory>`

Und daher - einfach noch ein drittes Mal:
*Daher - ich haue es Dir noch einmal um die Ohren - von mir der Punkt bezüglich:*


kneitzel hat gesagt.:


> Bitte: Wenn Du an der Konfiguration was machst, dann schau, dass Du die Settings, die Du vornimmst, auch halbwegs verstehst.



(Zur Steigerung beim Dritten Mal: einfach Vorstellen, es gäbe die Möglichkeit, es Blinken zu lassen ... Und stell dir bitte vor, die Schriftgöße wäre so, dass nur der rote Text mit dem Zitat den ganzen Bildschirm ausfüllen  )

Ich hoffe, ich konnte den konkreten Fehler aufzeigen an Deiner POM verständlich aufzeigen eben so wie das generelle Problem bei Deiner Vorgehensweise.


----------



## kneitzel (15. Okt 2021)

Und sorry, wenn der Post eben etwas hart klang. Es geht nicht gegen Deine Person. Wir helfen Dir gerne und Du bist willkommen.

Aber bitte wirklich versuchen, zumindest etwas zu verstehen / erahnen, was eine Einstellung bedeutet.
Und dann bei Änderungen wirklich schauen, was man ändert und die Änderung ausprobieren.

Das sind halt die Punkte, die ich Dir wirklich sehr ans Herz legen würde, weil ich davon überzeugt bin, dass sie Dir Dein Leben deutlich vereinfachen würden. 

Also auch wenn es womöglich anders klang: Mein Ziel ist auch weiterhin, Dich zu unterstützen und die Kritik geht nur gegen die vermutete Arbeitsweise. Gerade am Anfang wird man ggf. erschlagen. Aber da dann auch die klare Aufforderung: Durchlöcher uns mit Fragen, wenn etwas unklar ist. Wenn dir eine POM gegeben wird, dann ist das nicht als "Friss oder Stirb" zu verstehen sondern als eine mögliche Lösung zu einer Problematik und Fragen dazu werden sehr gerne beantwortet!

(Das einfach nur, weil ich schon gelernt habe, dass ich oft härter verstanden werde, als es wirklich gemeint ist!)


----------



## Mart (16. Okt 2021)

ich denke mal ich hab es soweit berichtigt es ist jetzt nur der unterschied zwischen install und package, 

package hatte ja immer funtkioniert nur das isntall nicht weil es dann als fehler Meldung hat dass NEXcgJpack schon bereits gibt dh das wird 2 mal durchlaufen soweit ich das verstanden habe 


das allgemeine Problem ist ja enstanden dadurch dass deine pom nie bei mir als install funktioniert hat aber als package schon

```
<phase>package</phase>

                        <goals>

                            <goal>copy-dependencies</goal>

                        </goals>
```
wahrscheinlich wird sowas fehlen nur ich weis nicht mal wie man das überhaupt benennt

und ja ich habe deine @kneitzel Maven sachen gelesen und weis dass package und isntall 2 phasen sind


```
<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>FinalGame5</groupId>
    <artifactId>NEXcg</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    
    <properties>
        <!-- Application Properties -->
        <link.name>${project.artifactId}</link.name>
        <launcher>${project.artifactId}</launcher>
        <appName>${project.artifactId}</appName>
        <main.module>finalGame1</main.module>
        <maven.dependency.plugin>3.1.2</maven.dependency.plugin>
        <main.class>application.Main</main.class>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- Dependency Versions -->
        <java.version>16</java.version>
        <javafx.version>${java.version}</javafx.version>
        <jpackage.maven.plugin>0.1.3</jpackage.maven.plugin>
        <slf4j.version>1.7.32</slf4j.version>
        <moditect.maven.plugin>1.0.0.RC1</moditect.maven.plugin>
        <junit.version>5.7.2</junit.version>
        <mvvmfx.version>1.8.0</mvvmfx.version>
        <typetools.version>0.6.3</typetools.version>
    </properties>

    <build>
    
        <sourceDirectory>src</sourceDirectory>
    <resources>
        <resource>
            <directory>src</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
        <!--<resource>
            <directory>${basedir}/src/main/java/com/test/customize</directory>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/resources</directory>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>${basedir}/src/main/java/com/test/xml</directory>
            <filtering>false</filtering>
        </resource>-->
    </resources>
      <pluginManagement>
        <plugins>
          <plugin>
            <groupId>com.github.akman</groupId>
            <artifactId>jpackage-maven-plugin</artifactId>
            <version>0.1.3</version>
            <configuration>
              <toolhome>$‍{env.JPACKAGE_HOME}</toolhome>
              <dest>${project.build.directory}/jpackage</dest>
              <name>NEXcgJpack</name>
              <type>IMAGE</type>
              <runtimeimage>${project.build.directory}/jlink-image</runtimeimage>
              <!-- <modulepath><path>${project.build.directory}/modules</path></modulepath> -->
              <appversion>1.0</appversion>
              <copyright>Copyright</copyright>
              <description>Description</description>
              <vendor>Vendor</vendor>
              <module>${main.module}/${main.class}</module>
              <arguments>--opt</arguments>
              <javaoptions>-Dfile.encoding=UTF-8 -Xms256m -Xmx512m</javaoptions>
              <addlaunchers>
                <addlauncher>
                  <name>NEXcg</name>
                  <module>${project.build.sourceDirectory}/module-info.java</module>
                  <arguments>--help</arguments>
                  <javaoptions>-Xms256m -Xmx512m</javaoptions>
                  <appversion>1.0</appversion>
                  <!--<icon>$‍{project.basedir}/config/jpackage/resources/appname-cli.ico</icon>-->
                  <winconsole>true</winconsole>
                </addlauncher>
              </addlaunchers>

 
            </configuration>
          </plugin>
        </plugins>
      </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>${maven.dependency.plugin}</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/modules</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <release>16</release>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <mainClass>application.Main</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.moditect</groupId>
                <artifactId>moditect-maven-plugin</artifactId>
                <version>${moditect.maven.plugin}</version>
                <executions>
                    <execution>
                        <id>add-module-info-to-dependencies</id>
                        <phase>package</phase>
                        <configuration>
                            <outputDirectory>${project.build.directory}/modules</outputDirectory>
                            <overwriteExistingFiles>true</overwriteExistingFiles>
                            <modules>
                                <module>
                                    <artifact>
                                        <groupId>org.slf4j</groupId>
                                        <artifactId>slf4j-api</artifactId>
                                    </artifact>
                                    <moduleInfo>
                                        <name>org.slf4j.slf4japi</name>
                                    </moduleInfo>
                                </module>
                            </modules>

                            <module>
                                <mainClass>${main.class}</mainClass>
                                <moduleInfoFile>${project.build.sourceDirectory}/module-info.java</moduleInfoFile>
                            </module>

                            <jdepsExtraArgs>
                                --ignore-missing-deps
                            </jdepsExtraArgs>
                        </configuration>
                        <goals>
                            <goal>add-module-info</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>create-runtime-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>create-runtime-image</goal>
                        </goals>
                        <configuration>
                            <modulePath>
                                <path>${project.build.directory}/modules</path>
                            </modulePath>
                            <modules>
                                <module>${main.module}</module>
                            </modules>
                            <launcher>
                                <name>runtime-image</name>
                                <module>${main.module}</module>
                            </launcher>
                            <compression>2</compression>
                            <stripDebug>true</stripDebug>
                            <outputDirectory>${project.build.directory}/jlink-image</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
          <plugin>
            <groupId>com.github.akman</groupId>
            <artifactId>jpackage-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>jpackage-image</id>
                <phase>verify</phase>
                <goals>
                  <goal>jpackage</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        
</plugins>
    </build>

    <dependencies>

        <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/exec-maven-plugin -->
        <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-graphics -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-base</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-web -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-web</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-fxml -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>${javafx.version}</version>
        </dependency>
    </dependencies>
</project>
```


----------



## Mart (16. Okt 2021)

kneitzel hat gesagt.:


> Und sorry, wenn der Post eben etwas hart klang. Es geht nicht gegen Deine Person. Wir helfen Dir gerne und Du bist willkommen.


Also ich empfinde den Post nicht als hart, du hast halt geschrieben was du denkst


----------

