【轉載】web.xml中的classpath和classpath*

最近在review別的team代碼,發現有些東西絕大多數人都不太清楚, 這裏分幾篇文章澄清下。


比如,大多數web-based應用都採用了spring 框架,但是spring 的配置文件,一般是在web.xml中的<context-param>中定義的:

1
2
3
4
5
6
7
8
<!-- Locations of Spring Configuration Files -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:com/abc/def/app-global-config.xml,
classpath*:com/abc/def/spring-*.xml
</param-value>
</context-param>


細心的人肯定發現,這裏定義了2個位置:一個是classpath,一個是classpath* ,那麼這2個有什麼區別呢?


答案:

對於classpath: 它會去到當前應用的WEB-INF/classes目錄下找相應的文件,如果任意層則用**

比如 classpath; com/abc/def/**/app-global-config.xml

而對於classpath*:則不僅會去WEB-INF/classes目錄下找相應文件,還會去WEB-INF/lib中的任意jar包中相應目錄下找這個文件

本文出自 “平行線的凝聚” 博客,請務必保留此出處http://supercharles888.blog.51cto.com/609344/1338841


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章