环境背景:系统:优胜美地,安装了jdk8,7,6,5,4
问题描述:mvn3.3.9 eclipse build出现错误
结论:mvn3.3.9 在jdk1.8下可以运行,问题出在了eclipse的项目上,项目是从GIT上载下来的(HanLP),项目本身用的是jdk1.6(开始没有意识到),然后本机的mvn是jdk1.8,将eclipse的jdk改为1.7依然报错,后来发现项目的jdk才是问题所在,改完后ok,所以一致性包括(mvn,系统jdk,应用jdk,IDEjdk)
系统jdk的切换办法如下(Bash):
只在bash层面有效,换个bash得重新来
#确认jdk版本,试探下
/usr/libexec/java_home
#会得到下面信息(不同版本显示不一样)
/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home
#上面是1.7版本jdk,可以使用 -v 标识来获取其他已安装版本jdk,如:系统自带的1.6版本jdk
/usr/libexec/java_home -v ‘1.6*’
#会得到下面信息(Mac OS X 10.9.4自带的1.6jdk)
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
获取以上信息后开始创建配置文件
#创建.bash_profile配置文件(已经有该文件就跳过此步骤)
touch ~/.bash_profile
#vim编辑.bash_profile文件
vim ~/.bash_profile
#如果不习惯vim命令就使用自带的文本编辑器打开
open ~/.bash_profile
#将下面内容输入到.bash_profile里面
Mac默认 JDK 6(Mac默认自带了一个jdk6版本)
export JAVA_6_HOME=$(/usr/libexec/java_home -v 1.6)
设置 JDK 7
export JAVA_7_HOME=$(/usr/libexec/java_home -v 1.7)
设置 JDK 8
export JAVA_8_HOME=$(/usr/libexec/java_home -v 1.8)
#默认JDK 7
export JAVA_HOME=$JAVA_7_HOME
#alias命令动态切换JDK版本
alias jdk6=“export JAVA_HOME=$JAVA_6_HOME”
alias jdk7=“export JAVA_HOME=$JAVA_7_HOME”
alias jdk8=“export JAVA_HOME=$JAVA_8_HOME”
#输入完成后保存执行下面命令
#重新执行.bash_profile文件
source ~/.bash_profile
#切换直接终端输入jdk8或jdk7来切换jdk版本
系统环境中永久配置(/etc/profile)
环境变量要再etc目录下的profile文件中配置,这样才是永久的配置。
cd /etc
vi profile
权限不够请 sudo vi profile
输入如下内容:
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
export JAVA_HOME
然后退出或重新开个终端,即可看见
eclipse中环境(preference中java compiler,修改eclipse和项目的jdk level,在同一个界面)
然后mvn clean build,世界都安静了
文章来源于网络