J'ai importé un projet Maven et il a utilisé Java 1.5 même si j'ai 1.6 configuré comme mon défaut Eclipse Preferences->Java->Installed JREs
.
Lorsque j'ai changé le projet Maven pour utiliser le JRE 1.6, il restait les erreurs de build depuis le moment où le projet utilisait Java 1.5 (j'ai décrit ces erreurs de build plus tôt dans: J'ai des erreurs de build avec m2eclipse mais pas avec maven2 sur la ligne de commande - mon m2eclipse est-il mal configuré? )
Je vais supprimer le projet et réessayer mais je veux m'assurer cette fois qu'il utilise Java 1.6 dès le début pour voir si cela élimine les problèmes de construction.
Comment m'assurer que le projet utilise Java 1.6 lorsque je l'importe?
Réponses:
Le plugin m2eclipse n'utilise pas les valeurs par défaut d'Eclipse, le plugin m2eclipse dérive les paramètres du POM. Donc, si vous souhaitez qu'un projet Maven soit configuré pour utiliser les paramètres Java 1.6 lors de son importation sous Eclipse, configurez-le
maven-compiler-plugin
correctement, comme je l'ai déjà suggéré:Si votre projet est déjà importé, mettez à jour la configuration du projet (faites un clic droit sur le projet puis Maven V Update Project Configuration ).
la source
J'ai ajouté cela à mon pom.xml sous la description du projet et cela a fonctionné:
la source
<properties> <maven.compiler.source>9</maven.compiler.source> <maven.compiler.target>9</maven.compiler.target> </properties>
Je voulais ajouter quelque chose à la réponse déjà fournie. maven-compiler-plugin par défaut compilera votre projet en utilisant Java 1.5 qui est l'endroit où m2e obtient ses informations.
C'est pourquoi vous devez déclarer explicitement le plugin maven-compiler dans votre projet avec autre chose que 1.5. Votre efficace
pom.xml
utilisera implicitement l'ensemble par défaut dans le plugin maven-compilerpom.xml
.la source
DEFAULT_SOURCE
etDEFAULT_TARGET
, mais toujours les deux à 1,5.la source
Voici la cause première de Java 1.5:
Référence: Plugin Apache Mavem Compiler
Voici les détails:
Plain pom.xml
Le plugin suivant est extrait d'une version POM étendue (Effective POM),
Cela peut être obtenu par cette commande à partir de la ligne de commande
C:\mvn help:effective-pom
Je viens de mettre ici un petit extrait au lieu d'un pom entier.Même ici, vous ne voyez pas où est définie la version java, allons plus loin ...
Téléchargez le plugin, Apache Maven Compiler Plugin »3.1 comme il est disponible dans le bocal et ouvrez-le dans n'importe quel outil de compression de fichiers comme 7-zip
Traversez le pot et découvrez
fichier dans le dossier
Vous verrez maintenant la section suivante dans le fichier,
Regardez le code ci-dessus et découvrez les 2 lignes suivantes
Bonne chance.
la source
quickstart
artefact.Votre JRE a probablement été défini dans la configuration d'exécution. Suivez ces étapes dans Eclipse pour modifier le JRE de génération.
1) Faites un clic droit sur le projet et sélectionnez Exécuter en tant que > Exécuter les configurations
2) Dans la fenêtre Exécuter les configurations, sélectionnez la configuration de construction de votre projet dans le panneau de gauche. Sur la droite, vous verrez différents onglets: Principal, JRE, Actualiser, Source, ...
3) Cliquez sur l'onglet JRE, vous devriez voir quelque chose comme ça
4) Par défaut, le JRE par défaut de travail (le JRE que vous sélectionnez par défaut sous Préférences-> Java-> JRE installés ) sera utilisé. Si vous souhaitez utiliser un autre JRE installé, cochez la case Autre JRE et sélectionnez votre JRE préféré dans la liste déroulante.
la source
Solution la plus simple dans Springboot
Je vais vous donner le plus simple si vous utilisez Springboot:
Ensuite, faites un clic droit sur votre projet Eclipse: Maven> Mettre à jour le projet> Mettre à jour la configuration du projet à partir de pom.xml
Cela devrait suffire.
la source
Paramètres spécifiques au projet
Un autre endroit où cela peut mal tourner est dans les paramètres spécifiques au projet, dans Eclipse.
propriétés du projet: cliquez sur votre projet et sur l'une des options suivantes:
cliquez sur "Java Compiler"
En raison des exigences des clients, nous leur avons permis de conserver nos projets en 1.6. Quand il a été nécessaire de passer à la version 1.7, nous avons eu du mal car nous devions changer la version java partout:
la source
Une raison de plus possible si vous utilisez Tycho et Maven pour construire des bundles, c'est que vous avez un mauvais environnement d'exécution (
Bundle-RequiredExecutionEnvironment
) dans le fichier manifeste (manifest.mf
) défini. Par exemple:Dans mon cas, tout le reste allait bien. Les plugins du compilateur (maven normal et tycho également) ont été définis correctement, m2 a toujours généré l'ancien niveau de conformité en raison du manifeste. Je pensais partager l'expérience.
la source
J'ai trouvé que mon problème était que quelqu'un avait validé le fichier .project et .classpath qui avait des références à Java1.5 comme JRE par défaut.
En fermant le projet, en supprimant les fichiers, puis en réimportant en tant que projet Maven, j'ai pu correctement configurer le projet pour utiliser l'espace de travail JRE ou le jdk correspondant sans qu'il revienne à 1.5. Ainsi, évitez de vérifier dans votre SVN les fichiers .project et .classpath
J'espère que cela aide les autres.
la source
Si vous voulez vous assurer que les projets nouvellement créés ou les projets importés dans Eclipse utilisent une autre version java par défaut que Java 1.5, vous pouvez modifier la configuration dans le plug-in maven-compiler-plugin.
Dans les lignes suivantes:
<source implementation = "java.lang.String" default-value = "1.5"> $ {maven.compiler.source} </source>
<target implementation = "java.lang.String" default-value = "1.5"> $ {maven.compiler.target} </target>
changez la valeur par défaut en 1.6 ou 1.8 ou ce que vous voulez.
Désormais, tous les nouveaux projets Maven utilisent la version java que vous avez spécifiée.
Les informations proviennent du billet de blog suivant: https://sandocean.wordpress.com/2019/03/22/directly-generating-maven-projects-in-eclipse-with-java-version-newer-than-1-5/
la source
Pour changer la version de JDK, vous pouvez faire:
1- Projet> Propriétés
2- Allez sur Java Build Path
3- Dans les bibliothèques, sélectionnez JRE System ... et cliquez sur Edit
4- Choisissez votre version appropriée et validez
la source