Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is Maven generating this error: "...is not supported in -source 1.5"?

Tags:

java

maven

This morning Maven starts complaining with this error:

error: multi-catch statement is not supported in -source 1.5

Oddly, I'm using JDK 7 and this code has been building fine for weeks. I'm just using m2e with a default POM with no compiler versions specified.

Here's my Maven version information:

Apache Maven 3.0.2 (r1056850; 2011-01-08 19:58:10-0500)
Java version: 1.7.0_03, vendor: Oracle Corporation
Java home: C:\SDKs\Java\jdk1.7.0_03\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

I can get around it by using the Maven compiler plugin like so:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>

Still, I'd like to understand why Maven would suddenly start misbehaving and requiring the use of the compiler plugin.

like image 891
HolySamosa Avatar asked May 14 '12 15:05

HolySamosa


2 Answers

Most likely this is a problem with your environment, not maven (ie, your JAVA_HOME environmental variable changed). It's worth noting that the compiler plugin is required anyway. By including this compiler section in your pom you are ensuring that your code gets compiled with the correct compiler, regardless of your environmental settings.

like image 90
dsummersl Avatar answered Nov 06 '22 15:11

dsummersl


The default source/target levels are 1.5, which doesn't support Java 1.7 syntax, obviously.

  • http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#source
  • http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#target

As to why it would "suddenly" change, something changed in your m2e or project configuration.

like image 14
Dave Newton Avatar answered Nov 06 '22 15:11

Dave Newton