为何配置classpath:
jvm在查找class文件时如果没有设置classpath会在当前路径查找,设置classpth后仅在classpath路径下查找class文件即可。
classpath 不是必须配置的。假如在D盘下有个test.java文件。进到d盘后,javac test.java 那么会在当前生成test.class文件。所以java test.class会得到相应的结果。如果设置了classpath是D:/myclasspath,将test.class剪切到D:/myclasspath中,在d路径下执行java test 照样可以得到结果。
因为规则是:执行java test的时候,先在test.java当前目录找test.class文件找不到再去classpath中找,这里是到D:/myclasspath中找。
不配置也能够编译的是因为你没有用到其他的包。
如果你想用到其他的包则必须把包配置到classpath里去。
否则会报classnotfoundexception
JAVA的初学者,必须要学会配置PATH环境变量,否则无法编译、运行JAVA程序。
当我们安装好JAVA后,若没有正确配置PATH环境变量,则在命令行窗口(开始->运行->输入cmd,回车)下运行命令java -version(显示JAVA的版本)命令时,会出现如下的错误提示信息:
sun公司提供了java的一些已经编译好了的类库.
classpath就是告诉程序这些类库在哪里.
path:作用在于当我们在控制台输入javac HelloWorld.java java HelloWord时,系统可以明白要到哪里去找javac,java命令,这个环境变量不是java独有的,其他程序也需要这个环境变量。
classpath:作用在于运行javac,java命令时,java程序可以知道要那哪里去找Java程序的源文件,以及字节码文件。
java_home:这个环境变量可以不配置。
所以,
如果不配置path:那么输入javac HelloWorld.java时,可能会提示找不到命令(由系统提示)。
如果不配置classpath:那么输入java HelloWord时,可能会提示找不到类的错误(由Java程序提示)。
要注意,最新的JDK已经可以不配置以上环境变量了,
现在最新的逻辑是,
如果不配置,可以到默认的地方找到所需的文件;
如果配置错误,那么运行错误。
如果配置正确,那么运行正确。
所以如果你会配置,那么你就配置;如果你还不清楚,那么你可以不配置。