Вот пример профиля в моем POM:
<profiles>
<profile>
<id>QA</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<jdbc.url>jdbc:mysql://127.0.0.1:3306/SomeDB</jdbc.url>
<jdbc.username>webapp</jdbc.username>
<jdbc.password>somepassword</jdbc.password>
</properties>
</profile>
...
Затем у меня есть файл свойств в папке моих ресурсов следующим образом:
jdbc.url = ${jdbc.url}
jdbc.username = ${jdbc.username}
jdbc.password = ${jdbc.password}
и, наконец, я включу фильтрацию в моем POM:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
...
Это на самом деле упрощенный пример, но вы получаете идею. В основном, когда я запускаю
mvn install -P QA
Maven будет фильтровать мой файл app.properties, заменить все заполнители на значения, содержащиеся в профиле, и развернуть заполненный файл свойств.
Проблема со всем этим заключается в том, что мне нравится использовать механизм Servers в Eclipse, где Tomcat работает в среде IDE. Мои проекты выполняются в этом экземпляре, и Eclipse заботится об обновлении, перераспределении и т.д. Maven не учитывается, однако, во время развертываний в среде IDE, и этот файл свойств никогда не заполняется должным образом.
Итак, как я могу продолжить выполнение моего проекта в среде IDE, но правильно ли этот файл свойств был заполнен?