Eclipse: Bibliothèque système JRE dans Java Build Path reset


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 construction est réinitialisée à Java 1.4 tout le temps:

problème

Malheureusement, cela ne peut être corrigé que temporairement (jusqu'au prochain redémarrage d'eclipse):

la solution temporaire

Dans la section build 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 un moins volatile solution.

[mise à JOUR], Le problème semble résolu avec les versions actuelles de

    J'ai besoin d'une version de Java 8 (1.8.0-ea-b121),
  • ]}
  • Maven (3.1.1/1.5.0.20131218-0705),
  • m2e (1.5.0.20131218-1208) avec le
  • Le site de mise à jour de la version bêta de JDT a été mis à jour.
Author: Cœur, 2013-11-22

1 answers

Le plugin maven eclipse (m2e) sélectionne un environnement d'exécution java en fonction des propriétés <source> et <target> du plugin maven compiler.

Le problème est qu'il n'y a pas d'environnement d'exécution 1.8 disponible dans Kepler ni le connecteur du compilateur m2e maven ne peut encore le mapper.

Donc je vois deux solutions jusqu'à ce qu'il soit pris en charge dans Kepler et m2e:

  1. Laissez maven changer l'environnement en 1.4 et mapper 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.

  2. Utilisez le pluginManagenent pour désactiver la gestion du cycle de vie maven-compiler-plugin. 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>
    
 2
Author: René Link, 2013-11-24 12:29:33