Maven将applicationContext.xml从src/main/resources复制到target/myproject/WEB-INF

Nim*_*sky 4 java spring maven applicationcontext

目前,默认我认为,它复制到

target/myproject/WEB-INF/classes
Run Code Online (Sandbox Code Playgroud)

因此在部署时不会获取上下文.

另外,我想引用服务器特定的配置文件database.properties,我想把它放在tomcat/conf中,然后在applicationContext.xml中引用它,我该怎么做?

另外(2),我的印象是这是一个相当标准和体面的方式来设置 - 如果我错了,请纠正我.

编辑 服务器特定的配置文件我用户这个

<context:property-placeholder 
      location="file:${catalina.home}/conf/database.properties" 
      ignore-unresolvable="true"
 />
Run Code Online (Sandbox Code Playgroud)

axt*_*avt 6

如果需要保留applicationContext.xml为类路径资源,可以配置ContextLoaderListener为通过将以下行添加到类路径中来从中选择web.xml:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

它比配置Maven复制它要容易得多WEB-INF.

关于第二个问题,您可以配置PropertyPlaceholderConfigurer或从文件系统<context:property-placeholder>加载.properties文件.