Maven

Maven est un outil permettant de :

  • structurer de manière standardisée une application Java
  • gérer les dépendances de manière centralisée
  • compiler rapidement un programme.

Il est intégré nativement à JBoss : installez JBoss (depuis Eclipse) si ce n'est déjà fait.

Vous pouvez consulter la page dédiée au plugin Maven dans Eclipse : http://maven.apache.org/plugins/maven-eclipse-plugin/usage.html

Rajouter le plugin permettant de créer un jar unique

Fonction pratique, qui vous permet de ne distribuer qu'un jar contenant l'ensemble de votre application. Commencez par regarder la documentation : http://maven.apache.org/plugins/maven-assembly-plugin/usage.html

Voici un exemple de configuration dans le fichier pom.xml (le fichier de configuration de Maven, à la racine du projet) :

  <build>
      <plugins>
           <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
            <archive>
                <manifest>
                    <addClasspath>true</addClasspath>
                    <mainClass>fr.maSociete.monAppli.App</mainClass>
                </manifest>
            </archive>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
        </configuration>
        <executions>
            <execution>
                <id>make-my-jar-with-dependencies</id>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

Compiler sans erreur avec java 1.7

Si vous utilisez la version 1.7 de Java, vous risquez de rencontrer un problème lors de la compilation avec Maven. Pour remédier à ça, rajoutez les lignes suivantes dans pom.xml :

 <plugin>
             <artifactId>maven-compiler-plugin</artifactId>
             <version>3.0</version>
             <configuration>
                 <source>1.7</source>
                 <target>1.7</target>
            </configuration>
       </plugin>