上面的import java.util.*是通过怎样的路径找到的?为什么java.util不在classpath中还是能够找到???????
你配置了JAVA_HOME 就可以了。
当你的class在javac所在目录外部(就是JAVA_HOME)外部时,才需要指定classpath.
这个和你如何运行java有关,你能运行java的目录,一般都会有你的那些类库。
比如我配置了环境变量 JAVA_HOME=C:\Program Files\Java\jdk1.7.0_40,并将其加到了path环境变量里。这时我运行java,它会自动去找JAVA_HOME下面的那些类库
我确实把C:\Program Files\Java\jdk1.7.0_40加到环境变量path中了,但是我所学到的都是这样讲的:java、javac等命令是从环境变量path中寻找,而.class文件则是从环境变量classpath中查找啊?难道是import java.util.*从classpath中找不到就转而到path中去找吗?
@inuyasha0618: 想想我们是如何运行一个java程序的?当运行java程序时,你的当前目录可能是你的项目的目录,而启动java的java指令是在java的安装目录,这时你配置的classpath就会起作用,它从当前目录找你的项目里面的class去执行。
换句话说,classpath和java的核心类库无关,和你要运行的项目有关:
1、关系到如何找到你的项目的class;
2、找到你的项目依赖的外部的jar包,如果你的classpath包含这个jar包的路径,那么你的项目就可以正确运行。
也不能这么说,util包是jdk系统包呀,只要你的系统能运行java,那它一定能找得到,除非你故意把它删除了。
java.utils.*和java.lang.*等一些常用包都是java的jdk安装时自带的,这与你配置classpath是否无关