classpath难道一定要设置吗

来源:百度知道 编辑:UC知道 时间:2024/09/21 13:34:02
我看很多书上都所JAVA环境变量需要设置path和classpath。
但我发现我只设了path, 然后在class文件所在的当前目录下也能用
java HelloWorld 来运行类, 也就是说能从当前目录下寻找类。

是不是我从当前目录下寻找类不一定要设置classpath? 达人给解释一下啊
你运行HelloWord的时候没用什么JAVA内部类
所以没用到classpath指定的东西
但是当你需要运行一个较复杂的类时,需要调用JAVA内部类,这时JAVA虚拟机会到classpath指定的地方去寻找这些类,如果不设,试运行不了的
所以最好设定
--------------------------
照你这么说,我classpath中应该要包含jdk安装目录的路径了吗? 可以不设置照样也可以运行,这是为什么?

你运行HelloWord的时候没用什么JAVA内部类
所以没用到classpath指定的东西
但是当你需要运行一个较复杂的类时,需要调用JAVA内部类,这时JAVA虚拟机会到classpath指定的地方去寻找这些类,如果不设,试运行不了的
所以最好设定
你运行HelloWord的时候没用什么JAVA内部类
所以没用到classpath指定的东西
但是当你需要运行一个较复杂的类时,需要调用JAVA内部类,这时JAVA虚拟机会到classpath指定的地方去寻找这些类,如果不设,试运行不了的
所以最好设定

照你这么说,我classpath中应该要包含jdk安装目录的路径了吗? 可以不设置照样也可以运行,这是为什么?

JAVA内部类库分别在两个目录下,一是\Java\jdk1.6.0_10\lib,另一个是Java\jre6\lib,一个在JDK的安装路径下,另一个在JRE的安装路径下,一般来说JRE路径的内部类是为你的心程序使用的,你在程序中import的类就是这里的,但是JVM在运行中一些命令,比如javadoc等,也是需要一些内部类,而这些内部类是放在JDK的安装目录下的,比如tools.jar
所以你如果在命令行里编译运行程序的话最好把classpath设了

你用的是JDK 6吧

以前的版本,你必须设置一些CLASSPATH

也可以不设置的,那你在运行这个程序之前先classpath一下,把它指向你的类所在的目录,这个是一样的。