For developing a JavaFX application I'm using a 4.3.1 snapshot of eclipse together with JDK 8 build b116.
In my workspace projects the JRE library inclusion in the build path get resetted back to Java 1.4 all the time:
Unfortunately, this can only be fixed temporary (until the next eclipse restart):
In the build section of my pom files I have:
<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>
I'd appreciate a less volatile solution.
[UPDATE] The issue seems to be fixed with the current versions of
- Java 8 (1.8.0-ea-b121),
- Maven (3.1.1/1.5.0.20131218-0705),
- m2e (1.5.0.20131218-1208) together with the
- JDT beta patch [Update site].
Best Answer
The maven eclipse plugin (m2e) selects a java execution environment depending on the
<source>
and<target>
properties for the maven compiler plugin.The problem is that there is neither a 1.8 execution environment available in Kepler nor the m2e maven compiler connector can map it yet.
Thus I see two solutions until it is supported in Kepler and m2e:
Let maven change the environment to 1.4 and map your 1.8 JDK to the execution environment J2SE-1.4. Then your project will use the correct JDK. But then all projects that depend on 1.4 will use the 1.8 JDK of course.
Use the
pluginManagenent
to turn off themaven-compiler-plugin
lifecycle handling. This should prevent the m2e plugin from updating the execution environment and you can set it manually.