Maven
For the past years, Apache Maven has become the build system of choice for many Java developers, and organizations. We are tracking this progress very carefully, and doing our best to provide seamless TeamCity user experience for those who are using Maven as their primary building tool.
Maven-specific Build Configurations
There's nothing easier than creating TeamCity build configuration from Maven POM model. All you need is provide an URL to your project POM file, and TeamCity automatically initializes build configuration from it. By default, it also keeps TeamCity build number in sync with the Maven version number, although you can disable this synchronization later on.
Once Maven-specific build configuration is created, all the significant data from the Maven model can be seen within TeamCity, — on a dedicated "Maven" tab of the build configuration page.
Build Triggering
As TeamCity is able to connect to the Maven artifact repository, you can also manually setup a dependency trigger, which would start a build if specified Maven artifact from the repository has changed. TeamCity can also trigger a build whenever a SNAPSHOT dependency artifact is updated without configuring a separate trigger for each dependency.
Maven Build Runner
In order to setup build configuration to run any specific maven goal in a selected POM, all you need is to write this goal down on a Maven build runner configuration page.
Upon the execution of the chosen goals, TeamCity accurately tracks build progress, and renders unit test results on-the-fly in the Web UI.
You can also use Inspections & Duplicates Runners on Maven project, to perform sophisticated code analysis.
