classpath究竟是指哪里?

继续看Spring课件。刚解决了

<context:property-placeholder location="classpath:db.properties"/>

这东西飘红 就出现了classpath后面飘红,找不到路径。

然后他提示我创建一个文件,我创建,文件出现在了src/java/main/src/com里面。

遂百度找找答案。

---------------------------------------------------------------------------------------------------

先放一个找到的参考的总结。

参考来源:andy_alone这位大哥。名字和我还挺像,地址如下

https://www.cnblogs.com/andy-alone/p/9210558.html

总结:

1、在编译生成的文件.classpath 中kind="src" 的类型为classpath 路径,在项目里可以用classpath:xxx方式引用。也可以手动过来自己添加、扩大classpath的范围,  <classpathentry kind="src" path="XXX"/>.

也就是说你想知道classpath指的是哪里点开.classpath 看看kind="src" 的就知道了

2、在编译生成的项目下的bulid/classes/ 下具有的文件都是classpath 路径下的文件,都可以通过classpath:方法获取。

3、”src不是classpath, WEB-INF/classes,lib才是classpath”这句话不对,这是编写项目时看到的,真正的classpath是在编译后的bulid/classes/ (如2的解释)

如何获取项目类编译后的路径

String path = 类名.class.getClassLoader().getResource("").getPath();

下面是我自己的理解。

--------------------------------------------------------------------------------------------------------------------------------------

classpath看名字就知道是类名称,所以这大哥说的我认为很对。、

但是因为我使用idea,而idea是没有.classpath文件的。我想修改路径也不知道咋改。

遂打开做过的项目,发现所有的配置文件都放在resources文件夹里面。

我把db.properties放到里面,立马变绿了。猜测idea的resources默认为classpath。

于是右击中一个文件夹,点击Mark Directory as->Resources Root,发现确实如我所想。

如同eclipse有.classpath文件一样,猜测idea应该也有自己的配置文件,修改一下应该也是可以实现这个的。只是我已经没有兴趣再深究这个了~~~

 

posted @ 2020-05-28 10:38  安安2020  阅读(225)  评论(0编辑  收藏  举报