最近在编译netty源码的时候,因为源码要依赖jdk1.8以上,可是我本地有三个java版本。
所以我手动把.bash_profile里的JAVA_HOME路径设置成了jdk1.8.0_181的路径。
但是编译代码后,一直报错,显示maven编译所用jdk为1.7。可以想象当时的绝望心情,心中岂止十万个草泥马飞过。经过周六上午坚持不懈的笨方法,经过这篇文章的启发这里写链接内容,终于解决。
我打开了maven bin目录下mvn.bash脚本文件
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
//脚本执行到此处以前,echo出的JAVA_HOME路径一直是1.8的路径
//执行完这行命令以后,echo出JAVA_HOME却变成了1.7的路径
. "$HOME/.mavenrc"
fi
fi
于是cd $HOME vim .mavenrc
将此处的1.7修改为1.8
JAVA_HOME=`/usr/libexec/java_home -v 1.8`
再次mvn -v,终于修改成功
Java version: 1.8.0_181, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre