Eclipse + Maven: force Execution Environment “JavaSE-1.6” instead of fixed JDK

三世轮回 提交于 2020-01-10 19:33:26

问题


I'm using Eclipse as IDE and Maven outside of it to keep all dependencies up to date and update the Eclipse-project as such. In Eclipse I usually specify the JRE system library as an execution environment for any Java-project, usually "JavaSE-1.6".

In the pom.xml I use the following lines:

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.8</version>
            <configuration>
                <projectNameTemplate>[groupId].[artifactId]</projectNameTemplate>
                <downloadJavadocs>true</downloadJavadocs>
                <wtpversion>2.0</wtpversion>
            </configuration>
        </plugin>

This seems to let Maven pick a JDK matching 1.6. It assigns its system libraries to the classpath of the project. However, it uses jdk1.6.20 directly rather than JavaSE-1.6.

Is there a way to make Maven use JavaSE-1.6 instead?


EDIT: Here's the batch file that I use to run Maven:

SET JAVA_HOME=C:\Programme\java\jdk1.6.0_20
SET MAVEN_HOME=C:\Programme\apache-maven-2.2.1
SET MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=128m
SET PATH=%JAVA_HOME%\bin;%MAVEN_HOME%\bin;%PATH%

SET EXTRA_MVN_OPTS=-Dmaven.test.skip=true

CD /D "%~dp0"
cmd /c mvn %EXTRA_MVN_OPTS% eclipse:clean eclipse:eclipse
cmd /c mvn %EXTRA_MVN_OPTS% clean install

回答1:


You can do it by setting a classpath container.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.8</version>
    <configuration>
        <classpathContainers>
           <classpathContainer>
    org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6
           </classpathContainer>
        </classpathContainers>
    </configuration>
</plugin>

Reference:

  • eclipse:eclipse Mojo > classpathContainers



回答2:


Go into Window > Preferences > Java > Installed JREs > Execution Environments

Select JavaSE-1.6, click the checkbox on the right that should indicate "perfect match"

then use "update project configuration" from the maven menu.




回答3:


Since you are using maven and eclipse, perhaps you should use M2Eclipse plugin. The maven project (built by maven by setting JAVA_HOME=C:\Program Files\Java\jdk1.6.0_23) imported in Eclipse, shows up with JRE System Library as JavaSE-1.6



来源:https://stackoverflow.com/questions/4759242/eclipse-maven-force-execution-environment-javase-1-6-instead-of-fixed-jdk

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!