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项目根目录和类路径问题的主要内容,如果未能解决你的问题,请参考以下文章