![](/img/trans.png)
[英]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.