在命令提示符里能运行java却不能运行javac

我的环境配置没有问题 我都一直在用eclipse写代码 但想在命令提示符里测试一下

原因:安装java时把jdk的路径和jre的路径选择成一样,就造成覆盖了,这时候你在lib下也找不到tools.jar和dt.jar.

解决:卸载java,重新安装。

配置环境变量:

1、新建一个系统变量。

变量名:JAVA_HOME

变量值:D:\Java

2、系统变量(CLASSPATH),没有就自己新建一个

3、系统变量(Path)

在变量值的最后面加上:

;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

打开cmd,输入java,javac和java -verbose都成功,就说明安装成功了。

扩展资料:

关于path

第一种:在path环境变量的最前端加上你自己的jdk的这两个目录path= C:\ProgramFiles\Java\jdk1.7.0_67\bin;C:\Program Files\Java\jdk1.7.0_67\bin\jre\bin;

第二种:新建变量(在D盘新建一个java文件夹,在java文件下新建两个文件夹,分别命名为jdk和jre,安装路径分别选择为D:\java\jdk,D:\java\jre)

变量名: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;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-20
java可以运行,只能说明JRE环境变量配置正确;javac不能运行,说明JDK环境变量配置错误。所以还是环境变量没有设置正确
我的电脑点右键,选择“属性”,选择“高级”标签,进入环境变量设置,分别设置如下三个环境变量:
设置JAVA_HOME:
一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
二则是归一原则, 当JDK路径改变的时候, 仅需更改JAVA_HOME的变量值即可, 否则,就要更改任何用绝对路径引用JDK目录的文档, 要是万一没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!
三则是第三方软件会引用约定好的JAVA_HOME变量, 不然, 你不能正常使用该软件.
在系统环境变量那一栏中点->新建JAVA_HOME (JAVA_HOME指向的是JDK的安装路径)
变量名: JAVA_HOME
变量值: C:\jdk1.6.0
(1)设置好path变量,使得我们能够在系统中的任何地方运行java应用程序,比如javac、java、javah等等,这就要找到我们安装JDK的目录,
假设我们的JDK安装在C:\jdk1.6.0目录下,那么在C: \jdk1.6.0\bin目录下就是我们常用的java应用程序,我们就需要把C:\jdk1.6.0\bin这个目录加到path环境变量里面。
在系统变量里找到path变量,选择->编辑;(里面已经有很多的变量值,是在变量值的最前面加上C:\jdk1.6.0\bin; 如果没有 就新建一个 但是 一般都会有的)
变量名: path
变量值: C:\jdk1.6.0\bin;
或 %JAVA_HOME%\bin;
(2)classpath环境变量,是当我们在开发java程序时需要引用别人写好的类时,要让java解释器知道到哪里去找这个类。通常,sun为我们提供了一些额外的丰富的类包,一个是dt.jar,一个是tools.jar,这两个jar包都位于C:\jdk1.6.0\lib目录下,所以通常我们都会把这两个jar包加到我们的classpath环境变量中set classpath=.;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar。
在系统环境变量那一栏中点->新建classpath
变量名: classpath
变量值: .;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar;
或 .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
(注意,CLASSPATH 中最前面是有个 “.”的,表示当前目录,这样当我们运行java AClass的时候,系统就会先在当前目录寻找AClass文件了。)
第2个回答  2012-04-29
java可以运行,只能说明JRE环境变量配置正确。
javac不能运行,说明JDK环境变量配置错误。

你想编译Java程序,那要配置的是JDK的环境变量,你配置了JRE的环境变量有什么用?追问

那个jre有关系吗 JDK环境不是也配置了吗 JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

追答

你在命令提示符中键入path,回车,看看里面写的是什么。截图出来看看。

追问

没错吧

追答

显然是错误的。

前两个是系统文件路径,第三个是的WMI测试程序的路径,第四个是错误的路径。第五个是JRE的路径。
这里面根本没有JDK的路径。

如果你安装的是默认路径(C:\Program Files\Java),那么JDK的可执行文件的路径应该是
C:\Program Files\Java\jdk1.7.0_03\bin
你的根本就没这个路径。

不过你的Java似乎是安装在C:\Java中,那么JDK的路径应该是
C:\Java\jdk1.7.0_03\bin
(不一定是1.7.0_03,这个取决于你安装的版本号,但是文件夹必然是jdk1.x.x_xx格式)

请你把路径中的JAVA_HOME%\bin改成%JAVA_HOME%\jdk1.x.x_xx\bin
那个x的值,自己打开C:\Java目录查看,应该有这样的文件夹。

本回答被提问者采纳
第3个回答  2012-04-27
我之前也遇到了一样的情况,解决是把jdk卸了,重新装。
第4个回答  2012-04-29
我感觉你的环境变量配的有问题哦!
我今天配的方式:
1 新建环境变量
变量名:JavaHome 变量值:“JDK安装路径” 如“d:\java\jdk1.5”
2 编辑环境变量
变量名:Path 变量值增加:“;%JavaHome%\bin”
2 新建环境变量
变量名:ClassPath 变量值:“.;%JavaHome%\lib”
至于和你的有没有功能上的区别我就不知道了,我今天才设置的,安装倒是很顺利的,使用起来感觉还是集成开发环境好啊!呵呵!追问

谢了 环境配置和你的一样 所以找不到原因

相似回答