-classpath 类路径包括
1.包含class 文件的文件夹。如/home/user/classdir //如:这个文件夹下有Employee.class 类文件。
2.jar 文件包(个人理解:jar包下有很多类文件,所以jar包也是相当于一个路径了)
3.当前路径
所以类路径在linux 下如下:
-classpath .:/home/user/classdir:/home/user/archive/archive.jar
javac
javac 在编译类文件时,总会查找当前文件路径。所以类路径没有当前路径也可以编译成功。
java
也就是 JVM。jvm 在运行的时候如果设置了classpath,但是classpath 没有包含当前路径,则不会扫描当前路径来查找类。
所以,java -classpath /home/user/classdir:/home/user/archive/archive.jar com.user.Test 会提示错误:找不到活无法加载主类。
就是因为java 无法在classpath 和jre路径中找到com.user.Test 这个类。
无论是javac 还是java 都需要根据classpath 来获取类的信息。