java项目根目录和类路径问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java项目根目录和类路径问题相关的知识,希望对你有一定的参考价值。

java project中类名.class.getResource("/test.properties"); //properties在src下我想问这里的/不是代表项目的根目录下吗?就是应该和src同级的啊,但实际是在src下面的,为什么能用“/”呢?而类名.class.getClassLoader.getResource("test.properties")与上面的效果一样,这里我还能理解,类加载器,意思是当前是在类路径src下面了。就是上面的那句不是在类加载器下,却用/开始

java获取src目录下文件夹的相对路径问题如下:

目录结构:

project

out

src

read.java

test.txt

files

opts

项目为priject
out目录为.class输出目录
src下为文件目录
src下有两个包,files、opts

想通过相对路径获取test.txt的路径

但是用反射只能获取到.class,也就是out里的路径

输出后的目录不就是在out里面了,那个里面的和src里面的文件是一样的, getClass().getResource()就可以得到classpath了啊

看看设置的资源文件编译路径

参考技术A 这里的路径 / 就是你的context所在目录,也就是你的classes所在的根目录,这个不冲突,所有类的根目录都是一样的追问

那“/“什么时候才代表项目所在的根目录呢

追答

如果你想拿项目的根目录直接使用System.getProperty("user.dir");

本回答被提问者和网友采纳

以上是关于java项目根目录和类路径问题的主要内容,如果未能解决你的问题,请参考以下文章

weblogic上的类路径和类加载

多个 Grails 插件和类路径

java web项目 相对路径怎么写

如何在 Java (IDE) 中找到当前项目目录的路径?

普通JAVA类 如何获取,WEB项目的根路径

java 基础 路径问题