java -version 问题 : C:ProgramDataOracleJavajavapath;

我把 JAVA_HOME 从8改成了 7 , 为什么还是 显示的8啊 !

E:sv0jars>java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)

JAVA_HOME 是
E:Javajdk7

path 是:
C:ProgramDataOracleJavajavapath;.;%HADOOP_HOME%in;f:aspectj1.8in;d:program files (x86)imagemagick-6.2.6-q16;.;%M2_HOME%in;%GRADLE_HOME%in;E:workhadownloadhadoop-common-2.2.0-bin-masterin;C:Program Files (x86)NVIDIA CorporationPhysXCommon;%JAVA_HOME%in;C:windowssystem32;C:windows;C:windowsSystem32Wbem;C:windowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)IntelOpenCL SDK2.0inx86;C:Program Files (x86)IntelOpenCL SDK2.0inx64;D:Program FilesTortoiseSVNin;d:Program Files (x86)UlteoOVD Application Serverplus;C:Program Files (x86)UlteoOVD Application Serverplus;D:Program Files (x86)Apachephp-5.4.35-Win32-VC9-x86;C:TempIBMSQLLIBBIN;C:TempIBMSQLLIBFUNCTION;C:TempIBMSQLLIBSAMPLESREPL;C:Program Files (x86)Microsoft SQL Server100ToolsBinn;C:Program FilesMicrosoft SQL Server100ToolsBinn;C:Program FilesMicrosoft SQL Server100DTSBinn;D:Program Files (x86)QuickTimeQTSystem;E:Javaapacheapache-ant-1.9.6in;D:Program Files (x86)scalain;F:Goin;d:Program FilesGitcmd

classpath 是:
f:aspectj1.8libaspectjrt.jar;.;%JAVA_HOME%lib;C:TempIBMSQLLIBjavadb2java.zip;C:TempIBMSQLLIBjavadb2jcc.jar;C:TempIBMSQLLIBjavasqlj.zip;C:TempIBMSQLLIBjavadb2jcc_license_cu.jar;C:TempIBMSQLLIBin;C:TempIBMSQLLIBjavacommon.jar;C:Program Files (x86)Javajre1.8.0_25libextQTJava.zip

path 的第一个是 C:ProgramDataOracleJavajavapath , 这个oracle是新安装的, 是java 8 :

原来如此!事实上,这个问题很棘手,
我把 path 的C:ProgramDataOracleJavajavapath 去掉,java -version 还是显示 1.8。 真是无语了, 直接修改环境变量 path 都不起作用了!。

更加麻烦的是,它还会每次的重复出现, 重启机器有出现了。 问题的根源在于, java8 的 updater 会每次会重新的设置这个变量。

一个解决方案是:
mklink

另外, 把 java8 的 updater 关闭掉, 也可以了

参考:
https://stackoverflow.com/questions/26864662/how-to-solve-the-error-the-system-cannot-find-the-file-c-programdata-oracle-ja

原文地址:https://www.cnblogs.com/FlyAway2013/p/6004844.html