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:
maven-compiler-plugin
2.3.2
1.6
1.6
maven-eclipse-plugin
2.8
[groupId].[artifactId]
true
2.0
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
解决方案
You can do it by setting a classpath container.
org.apache.maven.plugins
maven-eclipse-plugin
2.8
org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6
Reference: