问题描述:
由于需要在本地运行基于jdk1.8版本的tomcat。于是在安装了jdk1.7的笔记本上重新安装了jdk1.8。结果就出现了一个很蛋疼的问题:原来的JAVA_HOME配置从jdk1.7更改为jdk1.8对应的目录,但是在命令行执行 java -version出现的仍然是jdk1.7版本。
原因分析:
参考 http://www.oschina.net/question/942785_103000?fromerr=U6XKsOdO , 主要原因是javac -version是由JAVA_HOME指定的路径中的java版本来决定的。而java -version中找的java.exe是根据系统环境变量PATH来定的,而此前我系统中的PATH变量配置为:JAVA_HOME相关的配置在最后,也就是在system32的后面。这样因为每次安装jre的时候,都会讲java.exe拷贝到system32路径中,而java -version会依次变量PATH配置,如果找到了就不在继续往后找,这就导致java -version永远是最新版本的java。
解决办法:
通过搜索网上的解决办法,只要将系统环境变量PATH中的JAVA_HOME相关的配置移到最前即可。