spring如何從jar中讀取applicationContext.xml配置文件?


給外國朋友:

spring how to find and read applicationContext.xml from jar file?

Is very easy! Put jar file to web-inf/lib directory.  Don't put it to web-inf/classes directory. When you make jar file, check eclipse's "Add directory entries" option.  Because of The classPath include [src(classes)] path,but not include jar file where in  [src(classes)] path. 

很多人喜歡把非jsp部分的純java代碼打包為jar使用,但是如果把applicationContext.xml放在src目錄中一起打包的話,很多人表示網站就無法正常運行了。

很多人費勁心機研究如何修改web.xml文件來處理:

 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:applicationContext.xml</param-value>
 </context-param>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

 

但是,其實這么寫並沒有什么問題。說起來解決這個問題很簡單,你是不是把生成的jar文件放在web-inf/classes目錄下了,兄弟,把它放在web-inf/lib目錄下試試,是不是一切都好了?

要注意打包時選上“Add directory entries”

 

====================================================

擴展信息:

如果需要用到 .jar 文件中的類或者資源, 必須把 jar 文件的文件名放入類路徑, 而不是其(jar)所在的目錄。

Java EE規范(Servlet規范)中,web app的web-inf/lib目錄下的所有jar文件會自動加入classpath。

jar文件放在web-inf/classes目錄下時,並不算在classpath中,因此jar中的applicationContext.xml找不到。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM