MVN package install error javac: invalid target release: 1.8

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVN package install error javac: invalid target release: 1.8相关的知识,希望对你有一定的参考价值。

现象:
---------------------------------
[ERROR] Failure executing javac, but could not parse the error:
javac: invalid target release: 1.8
Usage: javac <options> <source files>
use -help for a list of possible option
---------------------------------
调查发现:
[[email protected] ~]# java -version
openjdk version "1.8.0_65"
OpenJDK Runtime Environment (build 1.8.0_65-b17)
OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)

[[email protected] ~]# javac -version
javac 1.7.0_111

即java与javac版本不一致。

[[email protected] ~]# which java
/usr/bin/java
[[email protected] ~]# which javac
/usr/bin/javac
[[email protected] ~]# ll /usr/bin/java
lrwxrwxrwx. 1 root root 22 Oct  7 10:49 /usr/bin/java -> /etc/alternatives/java
[[email protected] ~]# ll /usr/bin/javac
lrwxrwxrwx. 1 root root 23 Oct  7 10:49 /usr/bin/javac -> /etc/alternatives/javac

使用alternatives工具发现linux系统默认指向java/javac版本
[[email protected] ~]# alternatives --display javac
javac - status is auto.
 link currently points to /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64/bin/javac
.................
Current `best‘ version is /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64/bin/javac.

[[email protected] ~]# alternatives --display java
java - status is auto.
 link currently points to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/bin/java
.................
Current `best‘ version is /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/bin/java.
系统默认指向的java与javac版本不一致。

此时,如果希望使用jdk1.7,则使用alternatives --config java命令。
[[email protected] ~]# alternatives --config java

There are 2 programs which provide ‘java‘.

  Selection    Command
-----------------------------------------------
   1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64/jre/bin/java
*+ 2           /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/bin/java

Enter to keep the current selection[+], or type selection number:
※选择“2”即可使用java与javac版本同为1.7.0。

如果希望使用jdk1.8,
[[email protected] ~]# rpm -qa | grep java
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.2.el7_2.x86_64
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
tzdata-java-2015g-1.el7.noarch
java-1.7.0-openjdk-devel-1.7.0.111-2.6.7.2.el7_2.x86_64
java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64
javapackages-tools-3.4.1-11.el7.noarch
发现系统中有java-1.7.0-openjdk-devel*,而没有java-1.8.0-openjdk-devel*

使用alternatives工具发现linux系统默认指向javac版本
[[email protected] ~]# alternatives --config javac

There is 1 program that provides ‘javac‘.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64/bin/javac
没有java-1.8.0的可选项。

为了减少麻烦,先卸载java-1.7.0

[[email protected] ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.2.el7_2.x86_64
[[email protected] ~]# rpm -e --nodeps java-1.7.0-openjdk-devel-1.7.0.111-2.6.7.2.el7_2.x86_64
[[email protected] ~]# rpm -e --nodeps tzdata-java-2015g-1.el7.noarch

安装java-1.8.0-openjdk-devel*
[[email protected] ~]# yum -y install java-1.8.0-openjdk-devel*

[[email protected] ~]# java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
[[email protected] ~]# javac -version
javac 1.8.0_102

对Maven Project 进行mvn clean install即Build Success

Refer to:http://www.cnblogs.com/kreo/p/4308651.html

 

以上是关于MVN package install error javac: invalid target release: 1.8的主要内容,如果未能解决你的问题,请参考以下文章

记一次mvn clean install 报package com.rockysaas.shopguide.common.config.threadpool does not exist

mvn clean package -Dmaven.test.skip=true 报错:[ERROR] Unknown lifecycle phase “.test.skip=true“.

mvn package jar下不下来jar

mvn package 打包时加入本地jar包

mvn 使用方式

mvn 打包命令