简体   繁体   中英

Maven doesn't run with the JAVA_HOME version, why?

I have installed maven 3 and java 8 although when I run mvn clean install maven fails.

Here is the output of mvn -v:

Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T20:10:27+00:00)
Maven home: /usr/local/Cellar/maven/3.3.1/libexec
Java version: 1.8.0_40, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9.5", arch: "x86_64", family: "mac"

Output of cat ~/.bash_profile:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
alias java_jre='/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java'

and the error maven is throwing:

INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /Users/orestis/Documents/AlgorithmsRepo/algorithmicProblems/src/main/java/com/spoj/DivSum.java:[12,57] diamond operator is not supported in -source 1.5
  (use -source 7 or higher to enable diamond operator)
[ERROR] /Users/orestis/Documents/AlgorithmsRepo/algorithmicProblems/src/main/java/com/spoj/Test.java:[9,49] diamond operator is not supported in -source 1.5
  (use -source 7 or higher to enable diamond operator)
[INFO] 2 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.049 s
[INFO] Finished at: 2015-03-28T23:56:56+00:00
[INFO] Final Memory: 9M/245M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project topcoder: Compilation failure: Compilation failure:
[ERROR] /Users/orestis/Documents/AlgorithmsRepo/algorithmicProblems/src/main/java/com/spoj/DivSum.java:[12,57] diamond operator is not supported in -source 1.5
[ERROR] (use -source 7 or higher to enable diamond operator)
[ERROR] /Users/orestis/Documents/AlgorithmsRepo/algorithmicProblems/src/main/java/com/spoj/Test.java:[9,49] diamond operator is not supported in -source 1.5
[ERROR] (use -source 7 or higher to enable diamond operator)

Any ideas of what I am missing?

maven is trying to compile your source to 1.5 bytecode, but is encountering code written using 1.7 features (specifically the diamond operator). As you have the 1.8 JDK you could set your maven compile properties as the below:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM