Question: This is an easy filter approach to write the project version into a file.

```
<build>
 <resources>
  <resource>
    <directory>src/main/webapp</directory>
    <includes>
      <include>**/*.version</include>
    </includes>
    <filtering>true</filtering>
  </resource>
 </resources>
</build>

```

This is the project structure (left out the unintresting parts)

```
├───src
│   └───main
│       ├───java
│       │   └─── [...]
│       └───webapp
│           ├───META-INF
│           └───WEB-INF
│               ├───cfg
│               └───portal.version
└─── pom.xml

```

The content of `portal.version`

```
${project.version}

```

This should be replaced with the artifact version of the `pom.xml`, but unfortunately nothing happens. Whats wrong? Thank you in advance

Answer: 
When you specify resource element, the result filtered content is copied into a target/classes folder. To filter web app resources you could configure maven-war-plugin. 

Though to get the version, in most cases it is better to read a standard Maven property file in your application, e.g. `META-INF\maven\<groupId>\<artifactId>\pom.properties`
To filter web resources, you can use [the filtering capabilities of the war plugin](http://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html).