IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

compilation de sources avec plusieurs version de JDK [FAQ]


Sujet :

Maven Java

  1. #1
    Membre habitué Avatar de DanielW33
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2006
    Messages : 327
    Points : 164
    Points
    164
    Par défaut compilation de sources avec plusieurs version de JDK
    un des module de mon projet doit etre compiler avec la version JDK 1.4, alors que les autres modules utilisent la version 1.5.
    J'ai pensé declarer une variable d'environement(ex JAVA_HOME_1_4) qui pointe sur mon jdk 1.4, mais je ne sais pas comment l'utiliser dans mon fichier pom, lors de la phase de compilation.
    Comment faire ?

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 172
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 172
    Points : 1 524
    Points
    1 524
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                <source>1.5</source>
                <target>1.5</target>
              </configuration>
          </plugin>
        </plugins>

  3. #3
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par DanielW33
    un des module de mon projet doit etre compiler avec la version JDK 1.4, alors que les autres modules utilisent la version 1.5.
    J'ai pensé declarer une variable d'environement(ex JAVA_HOME_1_4) qui pointe sur mon jdk 1.4, mais je ne sais pas comment l'utiliser dans mon fichier pom, lors de la phase de compilation.
    Comment faire ?
    En complément de ce qu'emmanuel a dit:
    La JDK te permet de compiler avec les versions précédentes de Java.

    Ainsi, si tu mets ton JAVA_HOME sur une JDK 1.5, tu pourras quand même compiler un programme écrit en 1.4 en bytecode compatible 1.4, en utilisant les options source et target du compilateur. Et dans maven, tu peux bien entendu également utiliser ces options, comme emmanuel te l'a proposé.

  4. #4
    Membre habitué Avatar de DanielW33
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2006
    Messages : 327
    Points : 164
    Points
    164
    Par défaut
    Voila mon pom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <plugin>
    	<artifactId>maven-compiler-plugin</artifactId>
    	<configuration>
    		<source>1.4</source>
    		<target>1.4</target>
    		<includes>
    			<include>**/*.java</include>
    		</includes>
    	</configuration>
    </plugin>
    mon JAVA_HOME pointe sur le JDK 1.5

    Mais cela genere une erreur car il utilise les librairies du 1.5 pour compiler.
    Or une des methodes utilise dans mes sources utilise une méthode du JDK 1.4 qui a ete changer dans la 1.5: il faut donc que j'utilise le JDK 1.4.

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 172
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 172
    Points : 1 524
    Points
    1 524
    Par défaut
    http://maven.apache.org/plugins/mave...gin/howto.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <project>
      ...
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <fork>true</fork>
              <compilerVersion>1.3</compilerVersion>
              <executable>C:/Program Files/Java/jdk1.3.1_18/bin/javac</executable>
              <!--
              A portable way using environment variables
              <executable>${JAVA_1_3_HOME}/bin/javac</executable>
              -->
            </configuration>
          </plugin>
        </plugins>
      </build>
      ...
    </project>

  6. #6
    Membre habitué Avatar de DanielW33
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2006
    Messages : 327
    Points : 164
    Points
    164
    Par défaut
    Oh , j'avais pas vu

    Merci

  7. #7
    Expert éminent
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Points : 6 566
    Points
    6 566
    Par défaut
    Juste une confirmation, si le projet de DanielW33 nécessite à la fois une compilation en JDK 1.5 et 1.3 on aura ça ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <project>
      ...
      <build>
        <plugins>
     
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                <source>1.5</source>
                <target>1.5</target>
              </configuration>
          </plugin>
     
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <fork>true</fork>
              <compilerVersion>1.3</compilerVersion>
              <executable>C:/Program Files/Java/jdk1.3.1_18/bin/javac</executable>
              <!--
              A portable way using environment variables
              <executable>${JAVA_1_3_HOME}/bin/javac</executable>
              -->
            </configuration>
          </plugin>
        </plugins>
      </build>
      ...
    </project>
    Sinon DanielW33 , pourrais tu mettre ici ton code qui fonctionne uniquemente en JDK 1.4 ?

    Merci d'avance

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 172
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 172
    Points : 1 524
    Points
    1 524
    Par défaut
    elitost,

    non, si un projet nécessite une 2 jdks, il faut utiliser les profiles at au lancement de maven, tu choisis le profile à utiliser avec l'option -P de mvn
    http://maven.apache.org/guides/intro...-profiles.html

  9. #9
    Membre habitué Avatar de DanielW33
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2006
    Messages : 327
    Points : 164
    Points
    164
    Par défaut
    Voici mon Zip contenant la classe ProgressBarUI incriminée
    Pièce jointe 3881

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. yum avec plusieurs versions de python
    Par mapmip dans le forum RedHat / CentOS / Fedora
    Réponses: 0
    Dernier message: 03/05/2013, 11h21
  2. Pb Activer un workbook avec plusieurs versions possibles
    Par arnaud.j92 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/03/2013, 14h50
  3. Réponses: 4
    Dernier message: 21/12/2009, 17h16
  4. Impossible de compiler un source avec lua
    Par Mindiell dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 07/09/2007, 09h03
  5. [Compiler] Compiler une application avec plusieurs fichiers m
    Par ploukinet dans le forum MATLAB
    Réponses: 3
    Dernier message: 10/05/2007, 17h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo