关于在项目下的java类读取项目中的文件夹的路径问题

当前类下的绝对路径为:S:\新建文件夹 (3)\src\com\waxsb\util\Image
调用该类的绝对路径为:S:\新建文件夹 (3)\src\com\waxsb\controller
所需读取的文件夹的绝对路径为:S:\新建文件夹 (3)\lib
我用得相对路径为:…/…/…/…/…/lib 当前目录(Image)的上个目录(util)的上个目录(waxsb)的上个目录(com)的上个目录(src)的上个目录(新建文件夹)下的lib文件夹 (毫不留情没找到)
也从调用改类的controller作为相对路径的相对位置用过:…/…/…/lib(毫不留情的又没找到)
最后用这个来生成lib123判断到底是从哪里开始的
File file=new File(“lib123”);
if(!file.exists()){
System.out.println(“创建”);
file.mkdir();
结果发现生成的绝对路径为:S:\apache-tomcat-9.0.14\bin
网上百度后发现是如果直接这样写路径new File(“a.***”),那么java程序员就会从程序启动的地方去创建这个文件(JavaWeb项目中也是如此),那么web应用是从有tomcat来执行的,tomcat这个程序是从哪里启动文件是startup.bat,位置是tomcat/bin。
那么我该怎么在项目image类中调用某一个方法中找到lib文件夹?