apache. maven

Apache Maven

Maven is a build automation tool typically used for Java projects. Maven serves a similar purpose to the Apache Ant tool, but it is based on different concepts and works in a profoundly different manner. [http://en.wikipedia.org/wiki/Apache_Maven]

  • apache_maven

    In this small post i will present you how to

    1. Track and identify across your Apache Maven multi project builds all components, their versions, and class path if needed
    2. Get valuable information from your testing team, and add it to the GUI of your web applications

    To solve the problem number 1, we will use Manifest files

    On the Java platform, a manifest file is a specific file contained within a JAR archive. It is used to define extension and package related data. It is a metadata file that contains name-value pairs organized in different sections. If a JAR file is intended to be used as an executable file, the manifest file specifies the main class of the application. The manifest file is named MANIFEST.MF. [Wikipedia]

    If you do nothing special in Maven., you will see across your jar files the following in all META-INF/MANIFEST.MF

    Manifest-Version: 1.0
    Archiver-Version: Plexus Archiver
    Created-By: Apache Maven


    The solution I propose here will write all these META-INF/MANIFEST.MF the following  content:

    Manifest-Version: 1.0
    Archiver-Version: Plexus Archiver
    Created-By: Apache Maven
    Built-By: agent1
    Build-Jdk: 1.6.0_20
    Specification-Title: Unnamed - com.waltercedric:web:war:1.0.0-SNAPSHOT
    Specification-Version: 1.0.0-SNAPSHOT
    Specification-Vendor: waltercedric
    Implementation-Title: Unnamed - com.waltercedric:web:war:1.0.0-SNAPSHOT
    Implementation-Version: 1.0.0-SNAPSHOT
    Implementation-Vendor-Id: com.waltercedric
    Implementation-Vendor: waltercedric
    buildDate: 2010.09.22-14:12
    svnrevision: 18625
    Class-Path: spring-ws-core-1.5.6.jar spring-aop-2.5.6.jar spring-
     web-2.5.6.jar spring-webmvc-2.5.6.jar spring-context-support-2.5.6.jar
    .. .. ..