web-dev-qa-db-fra.com

Eclipse: bibliothèque système JRE dans Java Reset Path Build

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:

the problem

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

the temporary solution

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

  • Java 8 (1.8.0-ea-b121),
  • Maven (3.1.1/1.5.0.20131218-0705),
  • m2e (1.5.0.20131218-1208) avec le
  • Patch bêta JDT [ site de mise à jour ].
15
Jens Piegsa

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:

  1. 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.

  2. 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>
    
2
René Link