Pour développer une application JavaFX, j'utilise un instantané 4.3.1 d'Eclipse avec JDK 8 build b116. Dans mes projets d'espace de travail, l'inclusion de la bibliothèque JRE dans le chemin de génération est réinitialisée à Java 1.4 tout le temps:
Malheureusement, cela ne peut être résolu que temporairement (jusqu'au prochain redémarrage d'Eclipse):
Dans la section de construction de mes fichiers pom, j'ai:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<debug>true</debug>
<debuglevel>source,lines</debuglevel>
</configuration>
</plugin>
J'apprécierais une solution moins volatile.
[MISE À JOUR] Le problème semble être résolu avec les versions actuelles de
Le plugin maven Eclipse (m2e) sélectionne un environnement d'exécution Java selon le <source>
et <target>
propriétés du plugin du compilateur maven.
Le problème est qu'il n'y a ni environnement d'exécution 1.8 disponible dans Kepler ni le connecteur du compilateur m2e maven ne peut encore le mapper.
Ainsi, je vois deux solutions jusqu'à ce qu'il soit pris en charge dans Kepler et m2e:
Laissez maven changer l'environnement en 1.4 et mappez votre JDK 1.8 à l'environnement d'exécution J2SE-1.4. Ensuite, votre projet utilisera le JDK correct. Mais alors, tous les projets qui dépendent de 1.4 utiliseront bien sûr le JDK 1.8.
Utilisez le pluginManagenent
pour désactiver le maven-compiler-plugin
gestion du cycle de vie. Cela devrait empêcher le plugin m2e de mettre à jour l'environnement d'exécution et vous pouvez le définir manuellement.
<pluginManagement>
<plugins>
<plugin>
<groupId>org.Eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>