java的路径格式分3大类
URL 顾名思义是网络路径
URI 是多媒体路径
PATH 是环境变量, 地址栏, cmd 或 shell中出现 的文件路径
java文件各阶段所在的路径有9种
-
开发期间文件路径: 在IDE开发环境下的项目文件路径
-
测试时的test路径 于main下的classes 不同
-
编译后文件路径: 项目编译成为classes 后的文件路径
-
第三方库文件路径: 例如:maven本地库路径, 存放各种依赖的jar文件
-
项目打包后库路径: 通常是lib文件夹, lib文件夹在编译目录下
-
项目打包后资源文件路径: 通常也是打包文件夹下的路径,但也有人以绝对路径方式放置资源文件
-
项目程序运行后的程序路径: 通常是运行程序的所在目录路径
-
项目程序运行后, 加载项目包,或第三方类包的路径:(你会发现有很多包路径)
-
网络资源文件:通常需要url访问,(有人会把资源传到cdn服务器后访问)
具体分析运行程序中的文件路径
-
开发调试时
路径在 target/classes下面 -
测试调试时
class文件路径在 target/test-classes下面 -
普通程序启动以后
- 资源文件可以通过绝对路径访问,也可以通过与类路径的相对位置进行访问
- jar文件 可以通过ClassLoader 加载器加载 运行时 通过 java -cp或java -jar 指定,加载后的路径是url格式 ,如果有中文会是乱码,必须用URLDecoder转换
- 日志文件通过日志配置锁定
-
WEB程序启动以后
- 类文件在webapp/web-inf下面
- 资源文件在webapp路径下面
- 有的资源文件在CDN服务器上
除非自己写底层 造轮子否则无需明白java 的类路径, 但是不明白就会有困惑