[英]applicationContext.xml is being copied to /WEB-INF/classes from src/main/resources
[英]Maven copying applicationContext.xml from src/main/resources to target/myproject/WEB-INF
目前,默認我認為,它復制到
target/myproject/WEB-INF/classes
因此在部署時不會獲取上下文。
另外,我想引用服務器特定的配置文件database.properties ,我想把它放在tomcat / conf中然后在applicationContext.xml中引用它,我該怎么做?
另外(2),我的印象是這是一個相當標准和體面的方式來設置 - 如果我錯了,請糾正我。
編輯服務器特定的配置文件我用戶這個
<context:property-placeholder
location="file:${catalina.home}/conf/database.properties"
ignore-unresolvable="true"
/>
如果需要將applicationContext.xml
保留為類路徑資源,則可以通過將以ContextLoaderListener
添加到web.xml
來配置ContextLoaderListener
以從類路徑中選擇它:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
它比將Maven復制到WEB-INF
要容易得多。
關於第二個問題,您可以配置PropertyPlaceholderConfigurer
或<context:property-placeholder>
以從文件系統加載.properties
文件。
對於標題問題:通常在.war maven模塊中,您將把與web相關的資源放在src / main / webapp下,而不是src / main / resources。 然后maven插件會自動拾取它們,因為它符合約定。 因此,將applicationContext.xml移動到src / main / webapp / WEB-INF
另一種選擇是按照文檔中的描述配置webResources
對於第二個問題,您可以查看PropertyPlaceHolderConfigurer 。 你只需要讓路徑正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.