Sunday, June 2, 2013

Maven ( POM ) Best Practices


  • Make the build reproducible
    • Always specify a version for Maven2 plugins
    • Minimize number of SNASPHOT dependencies
    • Use dependency management section
    • Beware of relocation in maven repo
    • After a dependency modification, double check the produced artifacts
  • Use and abuse of modules
    • more “technical/layered”
    • more business oriented
  • Make the build maintainable
    • Prefer default directory layout
    • Avoid duplication by moving common tags to parent pom
    • Always specify a version of dependencies in a parent pom
    • Use Properties Liberally
    • Minimize the number of Profiles
  • Make the build portable
    • Don’t commit eclipse and maven artifacts
    • Don't modify pom/artifactsin your "enterprise" repository

Additionally:
  • Make use of maven-resources-plugin. E.g. As below in pom.
<plugin>
<!-- http://maven.apache.org/plugins/maven-resources-plugin/ -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<delimiters>
<delimiter>@*@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
<nonFilteredFileExtensions> 
<nonFilteredFileExtension>xls</nonFilteredFileExtension> 
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension> <nonFilteredFileExtension>pdf</nonFilteredFileExtension> 
</nonFilteredFileExtensions>
</configuration>
</plugin>

No comments:

Post a Comment