maven eclipse - Unsupported major.minor version 52.0

Mopparthy Ravindranath picture Mopparthy Ravindranath · Mar 28, 2015 · Viewed 23.8k times · Source

I am using apache maven 3.2.3 to compile my java project.

When I use the command line to launch the compile using

mvn clean compile

then it works perfectly.

But when I run maven build from eclipse (LUNA), it always fails with the below error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project MSDPEx: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile: java.lang.UnsupportedClassVersionError: com/sun/tools/javac/Main : Unsupported major.minor version 52.0
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.apache.maven.plugins:maven-compiler-plugin:2.5.1
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/rvnath/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar
[ERROR] urls[1] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
[ERROR] urls[2] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar
[ERROR] urls[3] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar
[ERROR] urls[4] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar
[ERROR] urls[5] = file:/home/rvnath/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.

Is there a problem in configuration with eclipse and maven? If so, how do I solve this?

If it helps, my environment is the below:

OS:  Ubuntu 14.10
JDK: java version "1.7.0_75"
     OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~utopic1)
     OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)

Eclipse installed JRE's:  java-7-openjdk-amd64 (default)

Answer

Mopparthy Ravindranath picture Mopparthy Ravindranath · Mar 28, 2015

This problem was vexing me for the last 2...3 weeks.

This kind of question has been asked several times, and many answers. But posting my answer as well, so someone having this situation may benefit.

Finally I figured out that my system also had a jdk1.8 installed, and that the cmdline launch of maven was using this version, while the eclipse was using 1.7. So, I did the following:

  1. open Eclipse->Window->preferences->Installed JRE's
  2. click Add button, select the path to my jdk1.8, finish

Now I am able to compile the project, even though I do not know the precise reason, why it should fail to compile with jdk1.7.