If I create new Maven
project in Eclipse
and base it on quickstart archetype, it appears with J2SE-1.5
in Java Build Path
window and 1.5 in Java Compiler / JDK Compliance
window.
So, I usually have to change this to other Java manually.
Where are these default setting come from?
How to change to 1.6 or 1.7?
The m2eclipse plugin uses the settings from the POM. So you need to add this to your POM:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
You should add plugin in your pom.xml like below :
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>your version</version>
<executions>
<execution>
<id>default-testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
<execution>
<id>default-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
And then you can see your project marked with error.In this case, Right click your project directory->Maven->Update Project option will work
You will have to manually update the pom.xml with the following plugin because 1.5 is the default.
<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>
Refrences:
来源:https://stackoverflow.com/questions/19096608/how-to-set-default-mavens-java-in-eclipse