2016-09-20 2 views
1

Mon objectif est de créer automatiquement un package JRE autonome avec mon application Java via Maven.Application JRE for Java pour les packages

Pour ce faire, j'utilise exec-maven-plugin et javapackager de JDK. Mon réglage POM ressemble à ceci:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.5.0</version> 
    <executions> 
    <execution> 
     <id>package-jar2</id> 
     <phase>package</phase> 
     <goals> 
     <goal>exec</goal> 
     </goals> 
     <configuration> 
     <executable> 
      ${env.JAVA_HOME}/bin/javapackager 
     </executable> 

     <arguments> 
      <argument>-deploy</argument> 
      <argument>-native</argument> 
      <argument>exe</argument> 
      <argument>-appclass</argument> 
      <argument>${app.main.class}</argument> 
      <argument>-srcdir</argument> 
      <argument>${project.build.directory}</argument> 
      <argument>-srcfiles</argument> 
      <argument>${project.build.directory}\${artifactId}-${version}.jar</argument> 
      <argument>-outdir</argument> 
      <argument>${project.build.directory}</argument> 
      <argument>-outfile</argument> 
      <argument>${project.artifactId}-${version}</argument> 
      <argument>-v</argument> 
     </arguments> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

Enfin, le javapackager émet l'erreur suivante:

[INFO] --- exec-maven-plugin:1.5.0:exec (package-jar2) @ cli-api --- 
Error: Unknown argument: D:\Archiv\Dokumente\Entwicklung\PEProjekt\repository\core\cli-api\target 
[ERROR] Command execution failed. 
org.apache.commons.exec.ExecuteException: Process exited with an error: -1 (Exit value: -1) 

Le Unknown argument semble être mon paramètre -srcdir.

Qu'est-ce que je fais mal? J'aimerais emballer mon JRE natif dans le répertoire cible.

Répondre

0

si vous voulez ajouter la base jre à votre utilisation bundle ths

<argument>-Bruntime</argument> 
<argument>${env.JAVA_HOME}</argument> 

-srcdir est le répertoire de tous vos fichiers dépendants, donc je vous avez juste besoin de 1 ne comprennent pas la -srcdir et utiliser -srcfiles

Si vous ne voulez pas, ajoutez un path.separator à la fin de celui-ci