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的值来找类的。
好了,今天就讲到这里,下课。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现