cmd窗口dos命令执行 javac 编译类时,提示 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。
1、使用javac 编译java类时,使用java执行 .class报错,'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。
或cmd窗口输入javac时提示 , 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。如下图:
2、经查此类原因可能是环境变量每一配置成功,输入java -version ,显示出jdk的版本,说明环境变量没有问题呀
3、后来感觉有可能是环境变量的相对路径导致的,所以将path , classpath 中的路径修改为相对路径,具体环境变量配置如下图:
1)JAVA_HOME
2) Path 直接用JAVA_HOME的绝对路径来配置, .;E:\InstalledApp\java\jdk1.6\bin;E:\InstalledApp\java\jdk1.6\jre\bin;代替 .,%JAVA_HOME%
3) CLASSPATH 直接用jdk安装的绝对路径来配置, 来代替.,%JAVA_HOME%,如下
原来的CLASSPATH .,%JAVA_HOME%/lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
绝对路径的CLASSPATH .;E:\InstalledApp\java\jdk1.6\lib\dt.jar;E:\InstalledApp\java\jdk1.6\lib\tools.jar;
4)果然有效,效果看图说话
①javac 命令
②java 命令
③ java -version
此问题解决完毕,绝对路径会比相对路径直接,其实多数情况下相对路径就可以了。