2009-04-28 17 views

Répondre

8

Vous devez créer run.bat vous et placez-le dans src/main/montage/scripts, par exemple. Ensuite, vous devez créer un fichier assembly.xml dans src/main/assembly.

Voici un exemple de fichier assembly.xml que vous pouvez utiliser. Il crée un tar.gz avec tous vos jarres de dépendance et votre run.bat.

<assembly> 
    <id>1.0</id> 
    <formats> 
     <format>tar.gz</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
     <dependencySet> 
      <outputDirectory>/lib</outputDirectory> 
     </dependencySet> 
    </dependencySets> 
    <fileSets> 
     <fileSet> 
      <directory>target</directory> 
      <outputDirectory>/lib</outputDirectory> 
      <includes> 
       <include>*.jar</include> 
      </includes> 
     </fileSet> 
     <fileSet> 
      <directory>src/main/assembly/scripts</directory> 
      <outputDirectory>/scripts</outputDirectory> 
      <includes> 
       <include>*.bat</include> 
      </includes> 
     </fileSet> 
    </fileSets> 
</assembly> 

Enfin, dans votre fichier pom.xml ajouter le plugin de montage:

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
      <descriptors> 
       <descriptor>src/main/assembly/assembly.xml</descriptor> 
      </descriptors> 
     </configuration> 
     <executions> 
      <execution> 
       <phase>package</phase> 
       <goals> 
        <goal>attached</goal> 
       </goals> 
      </execution> 
     </executions> 
    </plugin> 

Maintenant, lorsque vous exécutez "mvn install" vous devriez voir votre tar.gz créé.

Pour libérer l'exécution:

mvn sortie: préparer
libération mvn: effectuer

0

Juste un ajout à la réponse donnée par dogbane

Votre fichier .bat sera en cours d'exécution fichier jar emballé avec un nom de fichier reflétant la version actuelle de l'application, par exemple

java -Xms256m -Xmx350m -jar bin\yourApp-1.10.1-SNAPSHOT.jar 

À chaque version, ce fichier devra être mis à jour avec un nouveau nom de version de l'application. Cela peut être automatisé aussi.

Dans votre fichier pom.xml ajouter cette section:

<build> 
    <resources> 
    <resource> 
     <filtering>true</filtering> 
     <directory>${project.build.sourceDirectory}/../assembly/scripts</directory> 
     <includes> 
     <include>yourApp.bat</include> 
     </includes> 
    </resource> 
    ... 
    </resources> 
    ... 
</build> 

Ce asumes que vous avez mis le fichier yourApp.bat dans le dossier:

src/main/assembly/scripts 

Contenu du fichier yourApp.bat devrait ressembler à ceci:

java -Xms256m -Xmx350m -jar bin\${project.build.finalName}.jar 

Exécutez simplement les commandes Maven et profitez-en.

+0

Bonne idée, mais je ne pouvais pas le faire fonctionner. J'avais besoin d'ajouter l'indicateur de filtrage à l'élément de l'ensemble de fichiers dans l'assembly xml à la place. –

1

OK je suis arrivé avec un peu d'aide de la réponse de dogbane

J'ai utilisé mon propre fichier assemlby src/main/assemlby.assembly.xml

<assembly> 
    <id>teleinf</id> 
    <formats> 
     <format>dir</format> 
    </formats> 
    <moduleSets> 
     <moduleSet> 
     <includes> 
      <include>pl..........:core</include> 
      <include>pl..........:gui</include> 
     </includes> 
     <binaries> 
      <outputDirectory>../../release</outputDirectory> 
      <unpack>false</unpack> 
     </binaries> 
     </moduleSet> 
    </moduleSets> 
    <fileSets> 
     <fileSet> 
     <directory>src/main/assembly/</directory> 
     <outputDirectory>../../release</outputDirectory> 
     <includes> 
      <include>*.bat</include> 
     </includes> 
     </fileSet> 
    </fileSets> 
</assembly> 

et ajoutés à la suite de pom

<plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
      <descriptors> 
       <descriptor>src/main/assembly/assembly.xml</descriptor> 
      </descriptors> 
     </configuration> 
    </plugin> 

je devais écrire un run.bat moi-même - ce n'est pas totalement satisfaisant mais si le ferai.

Questions connexes