Eclipse:Java Build Path重置中的JRE系统库 [英] Eclipse: JRE System Library in Java Build Path reset
问题描述
开发JavaFX应用程序我正在使用]。
maven eclipse插件(m2e)选择java执行环境取决于maven编译器插件的< source>
和< target>
属性。
问题是Kepler中既没有1.8执行环境,也没有m2e maven编译器连接器可以映射它。
因此我看到两个解决方案,直到它在Kepler和m2e中得到支持:
-
让maven将环境更改为1.4并将1.8 JDK映射到执行环境J2SE-1.4。然后您的项目将使用正确的JDK。但是依赖于1.4的所有项目当然都会使用1.8 JDK。
-
使用
pluginManagenent
关闭maven-compiler-plugin
生命周期处理。这应该可以防止m2e插件更新执行环境,你可以手动设置它。< 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>
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].
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.<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>
这篇关于Eclipse:Java Build Path重置中的JRE系统库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!