9

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?

Suzan Cioc
  • 29,281
  • 63
  • 213
  • 385

3 Answers3

8

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>
Nicolas
  • 370
  • 3
  • 10
  • 1
    The [maven-compiler-plugin](http://maven.apache.org/plugins/maven-compiler-plugin/) has the version 3.1 in the meantime. – khmarbaise Sep 30 '13 at 14:37
  • My mistake ;) ... Fixed! – Nicolas Sep 30 '13 at 14:47
  • Maven newbie here: I have put this in my pom.xml file, and chosen "update project" from the maven menu when I right click on the project, but nothing has changed. Is there something else I have to do to get eclipse to update the java version it's using for my project? – Jules May 12 '14 at 06:28
2

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

1

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:

  1. Eclipse JRE System Library [J2SE-1.5]

  2. Eclipse + Maven: force Execution Environment "JavaSE-1.6" instead of fixed JDK

Community
  • 1
  • 1
Gurminder Singh
  • 1,755
  • 16
  • 19
  • Only the configuration of the maven-compiler-plugin is needed. Apart from that it will set the launcher within Eclipse but not the compiler which is used by maven or to be more accurate which compatibility is used of the installed jdk. – khmarbaise Sep 30 '13 at 17:10