簡體   English   中英

Maven將applicationContext.xml從src / main / resources復制到target / myproject / WEB-INF

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM