我需要构建一个可以调用JDBC连接的war文件,具体取决于它的配置文件名称。
当我使用dev配置文件构建时,我需要它来调用dev.properties文件。当我使用prod配置文件构建时,我需要它从prod.properties文件中读取。
我提出的想法是以某种方式使用配置文件名称作为变量,但我无法弄清楚如何做到这一点。
POM.XML
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profile-id>dev</profile-id>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profile-id>prod</profile-id>
</properties>
</profile>
servlet的context.xml中
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:${profile-id}.properties</value>
</property>
</bean>
<property name="dataSourceProperties">
<props>
<prop key="url" >${jdbc}</prop>
<prop key="user">user</prop>
<prop key="password">password</prop>
<prop key="implicitCachingEnabled">true</prop>
</props>
</property>
答案 0 :(得分:2)
您必须使用maven的过滤概念。见http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
添加到您的pom中:
<resource>
<directory>directory.to.servlet/servlet-context.xml</directory>
<filtering>true</filtering>
</resource>
将directory.to.servlet替换为真实目录