javac为何不能在当前目录生效

来源:百度知道 编辑:UC知道 时间:2024/05/14 20:38:35
安装了Java
也配置好了环境变量
classpath =.;%java_Home%\lib;.;%java_Home%\lib\dt.jar;%java_Home%\lib\tools.jar;
path =%java_Home%\bin;
java_Home =C:\Program Files\Java\jdk1.6.0_14

程序如下:
public class Hello{
public static void main(String[] args) {
System.out.println("Hello Java!"); }
}

奇怪的是,我必须到JDK的bin目录下才能使用javac命令编译,到hello.java文件所在目录下使用java命令运行。
这样来回切换好麻烦哦~~
请问要如何才能让javac命令在hello.java目录也能编译呢?是我的配置哪里有问题么?百度了半天,似乎没有错呀?
请大虾帮忙,拒绝简单复制粘贴配置方法的小白回答,谢谢。
到bin目录下打javac 路径\hello.java就可以正常编译。
如果在文件目录下打javac hello.java无效,提示是
"javac不是内部命令,或外部命令,也不是可运行的程序,或批处理文件"

一般是配置错了,但问题是我检查了 path和classpath我没写错啊。。没有空格和中文字符

而java命令则相反,必须到文件目录下才有效。。在bin目录下提示
"exception in thread main java.lang NoClassDefFoundError..."

还是求教懂行的大虾。。太奇怪了 。

你这样设试试:
JAVA_HOME
C:\Program Files\Java\jdk1.6.0_14
classpath
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
Path
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(这个放在已有内容的前面).
还有,以后你最好用JCreator LE、NetBean、Eclipse之类的集成环境,这样比较方便。

楼主既然说了在hello.java文件所在文件夹下能运行java命令,既然这样又怎么会不能运行javac命令呢,而且看你的环境变量设置,虽然有些不妥但是也没有错。
要不你再具体描述一下问题吧。或者去看一下我写的文章:http://hi.baidu.com/hustini/blog/item/d3e707898bbbef9da5c27255.html
再改一下试试。并且注意环境变量里不能有中文字符,包括空格。
---------------------------------------------------------------------
如果运行javac出现那句话,说明path变量还是有问题,因为系统在path包含的路径里面找不到javac.exe的时候才会出现这句话。
java能运行是因为JDK在安装时把一个java.exe自动拷到system32的目录下面了,而path变量包含这个目录。在bin目录下运行java是因为当前目录找不到你要运行的文件,所以会报ClassNotFoundError,java命令运行时是默认到当前目录搜索要执行的文件的。

'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件。说明path变量配置错了。