Configurer Maven pour utiliser différents JDK pour différents J2SE versions?
Je veux configurer Maven2 à utiliser sun-java6-jdk pour construire Java SE 1.6 modules, et d'utiliser openjdk-7 à construire Java SE de 1,7 modules. Est-il possible?
Maven2 devrait alors automatiquement choisir la bonne JDK pour construire différents modules en une seule commande.
Par exemple, il devrait être
$ mvn package
au lieu de
$ cd module1
$ update-alternatives ... jdk6 ...
$ mvn package
...
$ cd module2
$ update-alternatives ... jdk7 ...
$ mvn package
P. S. C'est rien pom.xml les fichiers qui ont déjà été mis en place maven-compiler-plugin
avec différents <source>
, <target>
valeurs pour les différents modules. Si je choisis d'utiliser openjdk-7, Maven2 va générer la version 1.6 de fichiers de classe, mais à l'aide de openjdk-7, plutôt que de sun-java6-jdk. La question est de savoir sur la façon de configurer Java SE profils.
- Pour info: il n'y a pas une telle chose comme J2SE 1.6. À partir de 1.6, il est appelé Java SE (tout comme J2EE est maintenant Java EE). Référence
Vous devez vous connecter pour publier un commentaire.
nous avons résolu ce problème en explicitement sepecify la javac dans la configuration de la compilation du plugin (avec JAVA_HOME_6 et JAVA_HOME_7 définies comme des variables d'environnement):
et pour Java 6 module
et pour Java 7 module
Vous pouvez dire le maven-compiler-plugin pour Compiler les Sources en Utilisant Une autre version de JDK
De nombreux upvotes sur @lweller de réponse, je suppose que c'est bizarre, mais avec
1.7
commesource
ettarget
maven encore essayé de compiler à l'aide de java1.5
. Plutôt qu'avec7
... Comme:maven-compiler-plugin version 2.5.1.
-source
et-target
paramètres