java中PATH和CLASSPATH
1、windows中临时设置PATH的方法(只在当前窗口中有效)
F:\ch01>D:\Java\jdk-11.0.7\bin\javac F:\ch01>set path=D:\Java\jdk-11.0.7\bin\ F:\ch01>javac Welcome.java
F:\ch01>java Hel1o Hello World
F:\ch01>
2、Windows中永久生效设置PATH的方法:
3、CLASSPATH的初识:
1 E:\Res\2023>javac -encoding utf8 MyClassPath.java 2 Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 3 4 E:\Res\2023>java MyClassPath 5 Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 6 MyClassPath测试 7 8 9 E:\Res\2023>f: 10 11 F:\>java E:\Res\2023\MyClassPath #java 类名(java后应该加的是类名,解释器程序接受到java后面的参数认为是类名) 12 Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 13 错误: 找不到或无法加载主类 E:\Res\2023\MyClassPath #所以这里就报找不到该类名 14 15 F:\>
那怎么办呢?
E:\Res\2023>java MyClassPath
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
MyClassPath测试
E:\Res\2023>f:
F:\>java E:\Res\2023\MyClassPath
8Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
错误: 找不到或无法加载主类 E:\Res\2023\MyClassPath
F:\>set classpath
CLASSPATH=.;D:\Develop\jdk8u281\install_package\lib;D:\Develop\jdk8u281\install_package\lib\tools.jar
F:\>set classpath:E:\Res\2023\ #这个命令有问题。
环境变量 classpath:E:\Res\2023\ 没有定义
F:\>set classpath=E:\Res\2023\ #在win要用这个命令才能成功。
F:\>set classpath
CLASSPATH=E:\Res\2023\
F:\>
F:\>java MyClassPath
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
MyClassPath测试
F:\>
path和classpath的区别:
path是给操作系统用的,是操作系统用来查找可执行程序用的。操作系统是根据path的值来找执行程序的。
classpath是java解释器程序用的,java解释器是根据classpath的值来找类的。
E:\Res\2023>set classpath=e:
E:\Res\2023>set classpath
CLASSPATH=e:
E:\Res\2023>java MyClassPath #这里为什么早不到呢?原因是CLASSPATH=e:,所以java解释器会在e:目录下早MyClassPath.class时发现没有所以报错
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
错误: 找不到或无法加载主类 MyClassPath
E:\Res\2023>
E:\Res>cd 2023
E:\Res\2023>set classpath=. #我们一般是把classpath设置为当前目录下。
E:\Res\2023>set classpath
CLASSPATH=.
E:\Res\2023>java MyClassPath
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
MyClassPath测试
E:\Res\2023>
4、永久设置classpath的方法:
添加CLASSPATH变量,设为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
5、还有一种方法是执行的时候设置classpath
1 E:\Res\2023>java MyClassPath 2 Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 3 MyClassPath测试 4 5 E:\Res\2023>cd ../../ 6 7 E:\>set classpath 8 CLASSPATH=. 9 10 E:\>java MyClassPath 11 Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 12 错误: 找不到或无法加载主类 MyClassPath 13 14 E:\>java -classpath E:\Res\2023 MyClassPath 15 Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 16 MyClassPath测试 17 18 E:\>
今天的重点是:
path和classpath的区别:
path是给操作系统用的,是操作系统用来查找可执行程序用的。操作系统是根据path的值来找执行程序的。
classpath是java解释器程序用的,java解释器是根据classpath的值来找类的。
好了,今天就讲到这里,下课。