2010-02-11 7 views
3

Comment puis-je exécuter un programme Java pendant la construction, ou après que la construction soit terminée? Est-il possible de le faire directement à partir de pom?Comment écrire un script de build Maven pour exécuter Java

mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main 

EDIT

Disons que je veux exécuter org.eclipse.content.MyClass. Comment aurais-je besoin d'écrire le code?

Ce projet construit, mais il n'exécute pas ma classe:

<plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.1</version> 
       <executions> 
        <execution> 
         <phase>deploy</phase> 
         <goals> 
          <goal>java</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <mainClass>org.eclipse.content.MyClass</mainClass> 
       </configuration> 
      </plugin> 

Répondre

4

Configurer maven-exec -plugin avec votre pom

<build> 
<plugins> 
    <plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.1</version> 
    <executions> 
     <execution> 
     <phase>yourPhase</phase> 
     ... 
     <goals> 
      <goal>java</goal> 
     </goals> 
      <configuration> 
      <mainClass>mainClass=org.sonatype.mavenbook.weather.Main</mainClass> 
      </configuration> 
     </execution> 
    </executions> 
    </plugin> 
</plugins> 
</build> 

en ligne <phase>yourPhase</phase> insert maven phase dans ce que ce plugin devrait fonctionner.

Cette classe doit être disponible dans pom classpath (en tant que source ou en tant que dépendance). Dans les autres cas, s'il ne s'agit pas d'une dépendance de projet, lisez this article pour configurer un plugin exec.

+0

@cetnar qu'en pensez-vous? ' yourPhase ... ', disons que je veux exécuter org.eclipse.content.MyClass comment aurais-je besoin d'écrire du code? –

+0

@cetnar J'ai mis à jour ma question –

+0

@Gandalf J'ai mis à jour ma réponse. Classe principale et autres paramètres que vous pouvez placer dans la section de configuration. – cetnar

2

Essayez le exec maven plugin ... Oops, je aurais dû lire plus attentivement :-(

+0

@ Péter Török J'ai mis à jour ma question –

Questions connexes