Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide
Consultez :
  • Les documents de reference sur le projet original
  • Les sources de la traduction fr sur GitHub
  • maven


    4.3.2. Compilation

    La plupart des cycles de vie rattachent le goal compile du plugin Compiler à la phase compile. Cette phase appelle compile:compile qui est configuré pour compiler tout le code source et copier le bytecode dans le répertoire destination du build. Si vous n'avez pas personnalisé les valeurs définies dans le Super POM, compile:compile compilera toutes les sources du répertoire src/main/java dans target/classes. Le plugin Compiler appelle javac et utilise les paramétrages par défaut : 1.3 pour le code source, et 1.1 pour le bytecode produit. Autrement dit, le plugin Compiler présume que le code source de votre projet est conforme Java 1.3 et qu'il doit tourner sur une JVM Java 1.1. Si vous voulez modifier ce paramétrage, vous devez fournir la configuration suivante du plugin Compiler dans le POM de votre projet.

    Exemple 4.9. Modifier les versions du code source et du bytecode pour le plugin Compiler

    <project>
      ...
      <build>
        ...
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <source>1.5</source>
              <target>1.5</target>
            </configuration>
          </plugin>
        </plugins>
        ...
      </build>
      ...
    </project>
    


    Notez que nous avons configuré le plugin Compiler, pas le goal compile:compile. Si nous voulions configurer le source et le bytecode généré juste pour le goal compile:compile, nous aurions placé la balise configuration sous la balise execution du goal compile:compile. Nous avons effectué cette configuration au niveau du plugin, car compile:compile n'est pas le seul goal intéressé par cette configuration. Le plugin Compiler est réutilisé pour la compilation des tests via le goal compile:testCompile, cette configuration nous permet donc de faire d'une pierre deux coups.

    Si vous voulez personnaliser l'emplacement du code source, vous pouvez modifier la configuration du build. Si vous désirez placer le code source de votre projet dans le répertoire src/java au lieu du répertoire src/main/java, et si vous voulez que votre projet soit généré dans classes au lieu target/classes, vous pouvez toujours modifier la configuration par défaut du sourceDirectory définie dans le Super POM.

    Exemple 4.10. Modifier le répertoire du code source par défaut

    <build>
      ...
      <sourceDirectory>src/java</sourceDirectory>
      <outputDirectory>classes</outputDirectory>
      ...
    </build>

    Avertissement

    Alors qu'il pourrait vous sembler nécessaire de configurer Maven pour qu'il utilise votre propre structure de répertoires, nous n'essayerons jamais assez de vous disuader de modifier la configuration Maven par défaut. Nous n'essayons pas ici de vous laver le cerveau pour vous forcer à utiliser la structure Maven, mais il reste beaucoup simple de suivre quelques conventions pour que tout le monde puisse comprendre rapidement votre projet.