cmd窗口dos命令执行 javac 编译类时,提示 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。

 1、使用javac 编译java类时,使用java执行 .class报错,'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。

 或cmd窗口输入javac时提示 , 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。如下图:  

              cmd窗口dos命令执行 javac 编译类时,提示 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。

2、经查此类原因可能是环境变量每一配置成功,输入java -version ,显示出jdk的版本,说明环境变量没有问题呀

            cmd窗口dos命令执行 javac 编译类时,提示 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。

3、后来感觉有可能是环境变量的相对路径导致的,所以将path , classpath 中的路径修改为相对路径,具体环境变量配置如下图:

       1)JAVA_HOME        

                  cmd窗口dos命令执行 javac 编译类时,提示 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。

       2)  Path 直接用JAVA_HOME的绝对路径来配置, .;E:\InstalledApp\java\jdk1.6\bin;E:\InstalledApp\java\jdk1.6\jre\bin;代替           .,%JAVA_HOME%

                 cmd窗口dos命令执行 javac 编译类时,提示 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。

 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  命令

         cmd窗口dos命令执行 javac 编译类时,提示 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。

      ②java   命令

        cmd窗口dos命令执行 javac 编译类时,提示 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。

       ③ java -version

        cmd窗口dos命令执行 javac 编译类时,提示 'javac' 不是内部命令或外部命令,也不是可运行的程序或批处理文件。

此问题解决完毕,绝对路径会比相对路径直接,其实多数情况下相对路径就可以了。