我使用 Eclipse 作为 IDE,并在其外部使用 Maven 来使所有依赖项保持最新并更新 Eclipse 项目。在 Eclipse 中,我通常将 JRE 系统库指定为任何 Java 项目的执行环境,通常是“JavaSE-1.6”。
在 pom.xml 中,我使用以下行:
<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>
这好像是让Maven挑选一个JDK匹配1.6。它将其系统库分配给项目的类路径。但是,它直接使用 jdk1.6.20 而不是 JavaSE-1.6。
有没有办法让 Maven 改用 JavaSE-1.6?
编辑: 这是我用来运行 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
最佳答案
您可以通过设置类路径容器来实现。
<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>
引用:
关于java - eclipse + Maven : force Execution Environment "JavaSE-1.6" instead of fixed JDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4759242/