When I build and run my program in Netbeans, it works without a problem. But with same pom.xml file when I try "mvn compile" I get this error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project hadoop-test: Compilation failure
[ERROR] /home/metin/NetBeansProjects/hadoop-test/src/main/java/com/citusdata/hadoop/HadoopTest.java:[53,8] error: generics are not supported in -source 1.3
My java version is not 1.3, here the result of "mvn -version"
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_03, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-27-generic", arch: "amd64", family: "unix"
and this is the line 53:
Token<BlockTokenIdentifier> token = locatedBlock.getBlockToken();
It seems your maven java home point to a jre not jdk
You have to change it to a jdk.
Try
java -version
and see what is thereuse
/usr/sbin/alternatives --config java
to change your java version.Please Execute Maven Run from eclipse and then run mvn test from command prompt. In my case all issues resolved with this step.
In your log, I see this line:
Check the source and target configuration of maven-compiler plug-in, and update it to 1.5.
It seems your maven compiler plugin version is 1.3.
Have a look at this link to force the compiler to run with JDK 1.7, http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html
Here is a slightly different way to fix the same error in Eclipse Indigo.
Enter:
This will insert a new section in your pom.xml and open a window for editing.
Then you can add the source and target xml elements as described above to select the correct JRE.
The section looks like this in my project:
Note the extra tags for "build" and "plugins" absent in some of the other posts.
Once you save the file, Eclipse will notify you that your pom is out of synch with your project.
You can then right click the project ...choose Maven..update project
A key insight for me was that Maven will automatically re-set the build path in Eclipse. Which you can verify by Project...build path..configure build path...Libraries.
So in essence this means you should not have to mess with directly configuring the build path in Eclipse if you are using a Maven project.
HTH
The problem is that
maven-compiler-plugin
in Maven2 by default uses-source 1.3
andtarget 1.3
You can fix it by adding this to your pom:
It's practical to put this into
pluginManagement
section in your topmost parent pom so that your derived poms do not need to care about this.