繁体   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