How to tell Maven to use Java 8

In pom.xml, defined this maven.compiler.source properties to tell Maven to use Java 8 to compile the project.

1. Maven Properties

Java 8

pom.xml

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

Java 7

pom.xml

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

2. Compiler Plugin

Alternative, configure the plugin directly.

pom.xml

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

References

  1. Maven – Setting the -source and -target of the Java Compiler
  2. How to compile Maven project with different JDK version?

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

avatar
2 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Premsrini Recent comment authors
newest oldest most voted
Prem
Guest
Prem

Hello mkyong,
I did use this for java 8. But it is showing error :
lambda expressions are not supported in -source 1.5
[ERROR] (use -source 8 or higher to enable lambda expressions)

This is my pom.xml :

4.0.0

com.example.project
Proect-MVN-Parent
0.0.1-SNAPSHOT

WebApp

false
1.8
1.8

war
Project Maven Webapp

junit
junit
3.8.1
test

org.springframework
spring-webmvc
${spring.version}

org.springframework
spring-web
${spring.version}

org.springframework
spring-tx
3.2.4.RELEASE

javax.ws.rs
javax.ws.rs-api
2.0-m03

com.fasterxml.jackson.core
jackson-core
2.6.3

com.fasterxml.jackson.core
jackson-databind
2.6.3

org.springframework
spring-jdbc
3.0.3.RELEASE

javax.servlet
javax.servlet-api
${servlet.version}
provided

org.hibernate
hibernate-core
${hibernate.version}

org.hibernate
hibernate-entitymanager
${hibernate.version}

org.springframework.data
spring-data-jpa
1.10.5.RELEASE

aopalliance
aopalliance
1.0

org.aspectj
aspectjrt
1.8.11

org.aspectj
aspectjweaver
1.8.11

YLogAPI

org.apache.maven.plugins
maven-compiler-plugin
3.6.1

${maven.compiler.source}
${maven.compiler.target}

srini
Guest
srini

With jdk 8 tomcat integration getting lots of issues