Friday, February 01, 2008

[Tech] Maven as standard build tool?

For three years I have my first contact with Maven (started with version 1) and was appreciate about their dependency management. Okay, there was a lot of configuration to do and the performance in bigger projects was unsatisfied, but I think my build processes became clearer through the use of Maven, especially in the deployment area. Maven 2 was a complete redesign of Maven 1 and they introduce new major features, like transitive dependencies, Mojos and other nice thinks. First projects which are based on Maven 2 ends with a lot of unused jars in my lib, because there were problemens with the transitive dependencies, especially with their scopes. Unfortunately, Maven 2 do not work very well when developing Eclipse based applications (RCP, Plugins).

We still use Maven 2 as standard build system in our company and make profit in many areas:
  • Company based settings
  • Company repository, including 3rd party libs and inhouse components --> No more jars in our SVN
  • Repository was set up with Artifactory
  • Dependency management
  • Documentation
  • Integration tests and their documentation
  • All projects have the same structure
  • Continuous integration
  • Major Open Source projects are based on Maven and many of them will migrate to maven in near future
  • There are a lot of plugins and you can write your own plugins
  • Archetypes, providing a basic structure for your projects or component development.
My impression about this blog I got on the InfoQ site, discussiong about "Maven the right tool for build". Our Best-Practice sample also based on Maven 2.

No comments: