2016-06-09 41 views
0

我想要配置Maven過濾器,以改變一些價值觀裏面applicationContext.xml的,看到我的過濾器:配置Maven過濾器的applicationContext.xml

<resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <filtering>true</filtering> 
      </resource> 
      <resource> 
       <directory>src/main/webapp/WEB-INF</directory> 
       <filtering>true</filtering> 
       <targetPath>WEB-INF</targetPath> 
      </resource> 
     </resources> 

內部 「WEB-INF」 我有applicationContext.xml中,看到的代碼和平:

<property name="jdbcUrl" value="jdbc:postgresql://localhost/${project.build.finalName}" /> 

當我執行mvn install行家產生內/WEB-INF /班/ WEB-INF一個新的applicationContext.xml文件,其中$ {project.build另一個文件夾WEB-INF .fileName}是重新解決了,但/WEB-INF/中的applicationContext.xml有$ {project.build.finalName}而沒有解析。

回答

0

src/main/webapp及其下的文件不是普通資源,而是網絡資源。他們被maven-war-plugin過濾。

請參閱this answer

<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.5</version> 
     <configuration> 
      <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors> 
      <webResources> 
       <resource> 
        <directory>src/main/webapp/WEB-INF</directory> 
        <targetPath>/WEB-INF</targetPath> 
        <filtering>true</filtering> 
       </resource> 
      </webResources> 
     </configuration> 
    </plugin> 
</plugins>