1,使用命令:"java HelloWorld",请问 JVM 会在哪些路径下去找 HelloWorld.class 和 HelloWorld中所 import 的.class文件?
答:JVM 在默认路径 当前文件夹下,jre的 dt.jar中,jre的 tools.jar中 中寻找所需的 .class 文件。
2,如果 JVM 在默认的路径下找不到所需的 .class 文件,会怎样?
答:JVM报错 java.lang.ClassNotFoundException
3,如何解决 JVM 找不到 .class 文件的问题?
既然 JVM 在默认的 classpath 路径下找不所需的 .class 文件,那么我么手动设置 classpath:
“java -classpath "所需class1文件的路径;所需class2文件的路径;所需......" HelloWorld ”
复杂一点的例子:
"java -classpath "C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\deploy.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\access-bridge-64.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\cldrdata.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\dnsns.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jaccess.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jfxrt.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\localedata.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\nashorn.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunec.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunjce_provider.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunmscapi.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunpkcs11.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\zipfs.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\javaws.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\jce.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfr.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfxswt.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\jsse.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\management-agent.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\plugin.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\resources.jar;
C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar;
D:\ProjectsJava\hello;"
HelloWorld"