Java version automatically change to java 1.5 after maven update



I am using eclipse as IDE. When I right click on the project and then click maven update my java version change to 1.5. Here is what I did so far, I followed all the steps listed here

http://qussay.com/2013/09/13/solving-dynamic-web-module-3-0-requires-java-1-6-or-newer-in-maven-projects/

  1. I changed “Java build path” to “workspace default jre 1.8.0_25”
  2. Then changed “java compiler” to 1.8
  3. Then changed “project facets”>java>1.8
  4. Changed pom.xml java version to 1.8
    <build>
        <plugins>
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.1.3.v20140225</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugin</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

After all this when I click on “Maven update” my java version change to 1.5 automatically. Also in above steps, first two step’s version also change to 1.5 automatically. How can I fix this?

Answer

Open your pom.xml file and add the following lines on it:

<properties>
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>

Where 1.8 is the java version of your current JDK/JRE. Another way of doing this is adding a <build> with the maven-compile-plugin as

<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.2</version> <!-- or whatever current version -->
    <configuration>
      <source>1.8</source>
      <target>1.8</target>
    </configuration>
  </plugin>
</plugins>
</build>

EDIT

If you are looking for a way to make it work with Java versions 9+ please take a look at @JDelorean’s answer down here and don’t forget to give him an upvote as well 🙂



Source: stackoverflow