在cmd中可以运行java,但是不能用javac

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在cmd中可以运行java,但是不能用javac相关的知识,希望对你有一定的参考价值。

链接:http://www.zhihu.com/question/28428426/answer/114375451
来源:知乎

原因:安装java时把jdk的路径和jre的路径选择成一样,就造成覆盖了。这时候你在lib下也找不到tools.jar和dt.jar.
解决:1.首先卸载java,卸载很容易,直接把这两个有关java的程序给卸载了就行了(用windows自带的卸载)。卸载完你也会发现,原来放java的文件夹也空了。

2.重新安装
在D盘新建一个java文件夹,在java文件下新建两个文件夹,分别命名为jdk和jre.
3.双击程序进行安装,安装时有两次选择路径的机会,第一次是让你选择jdk安装路径,选择为D:\java\jdk,第二次是让你选择jre的安装路径,选择为D:\java\jre
4.安装完成后,进行环境变量的配置,计算机右击属性,-高级系统设置-环境变量-选择下边的系统变量

5.新建
变量名:Path
变量值:C:\ProgramData\Oracle\Java\javapath;%java_home%\bin;%java_home%\jre\bin
新建
变量名:JAVA_HOME
变量值:D:\java\jdk
新建
变量名:ClassPath
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
之所以把java_home设为D:\java\jdk,是因为安装过程中生成的dt.jar,tools.jar是放在了D:\java\jdk\lib目录下,它都是jdk的东西。classPath用java_home来做一个相对路径。所以java_home必须是jdk的安装目录,且后面不可以有分号,若它后面有分号,则%JAVA_HOME%\lib\dt.jar就不是一个目录了。
再试一试就ok了
 

以上是关于在cmd中可以运行java,但是不能用javac的主要内容,如果未能解决你的问题,请参考以下文章

cmd中可以运行java,但不能运行javac命令

在cmd中可以运行javac 但不能运行Java

CMD里面javac运行不了。。

运行不了javac

cmd中使用javac对整个包编译怎么办?对包里面的某几个java文件编译怎么办?

为啥使用cmd之后javac正常运行,但是在创建的java文件中找不到class??