No pom.xml adicionamos
<profiles>
<profile>
<id>dev</id>
<properties>
<db.senha>root</db.senha>
<db.url>localhost</db.url>
</properties>
</profile>
</profiles>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<db.senha>root</db.senha>
<db.url>localhost</db.url>
</properties>
</profile>
</profiles>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<db.senha>root</db.senha>
<db.url>localhost</db.url>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<db.senha>uma_senha_dificil</db.senha>
<db.url>uma_url_diferente</db.url>
</properties>
</profile>
</profiles>
Para o maven procurar nossas variaveis e troca-las por valores devemos utilizar a tag resources.
<build>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
O Maven olha todos os arquivos dentro desse diretório e se tiver alguma variável, troque por valores.