Я бы так не делал.
Вместо этого у меня была бы одна конфигурация.properties, содержащая заполнители для значений, которые различаются в зависимости от профиля:
numberOfThreads=${config.numberOfThreads} # depends on the profile
foo=bar #doesnt depend on the profile
Изатем используйте возможности фильтрации плагина ресурсов, чтобы заменить местозаполнитель фактическими значениями, извлеченными из профиля:
filter-dev.properties :
config.numberOfThreads=2
filter-prod.properties :
config.numberOfThreads=16
А теперь в вашем пом:
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
<filters>
<filter>src/main/filters/filter-${env}.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>