配置JNI环境时,遇到一个非常奇怪的问题,java环境变量配置好了后,cmd下执行java -version 正确,但是javah 或者javac 则提示不是内部或外部命令。
下面就是开始找原因了:
1、怀疑java环境变量配置有问题,对照别人的做法:
JAVA_HOME设置为:
C:\Program Files\Java\jdk1.5.0_12(自己jdk的安装位置)
CLASSPATH设置为:
.;%JAVA_HOME%\lib;
PATH设置为:
%JAVA_HOME%\bin;
确认自己配置环境变量没问题,而且cmd下执行命令java -version 也正确。
2、怀疑%JAVA_HOME%\bin下面没有javac.exe、javah.exe
经检查,发现确实有这两个文件。实在不知道何原因。难道是jdk安装不对,百度了一下发现网上的解决方案。
直接给出解决方法:
将系统环境变量Path中有关java环境变量的配置拷贝一份到用户变量,重开cmd窗口即可。参考下图:
果然这样搞了一下就好啦,但是是为什么?????
正如博主不明白为为什么这么做能够解决