Skip to main content

Maven

Maven is a software project management and comprehension tool, based on the concept of project object model.

Maven Usages

  • Build the code in the development environment (compile the source code, run the test cases and packaging the project)
  • Project management tool
    • Generate reports
    • Dependency management

Installation Steps

You can install Maven by following below steps

  • Manual Installation
    • Download Maven binary file
    • Create some environment variables
      • M2_HOME = environment point to maven directory
      • PATH = append Maven path until bin to path variable
  • Using Ubuntu Terminal
    • sudo apt-get install maven
To check Maven is successfully installed, issue the following command
    • mvn --version
To create a Maven project using Terminal use following steps
    • mkdir myApp
    • cd myApp/
    • mvn archetype:generate : choose archetype for the project 
    • groupId: org.amali.myProject (like package name)
    • artifactId: MavenTestApp (like class name)
    • Then use default suggestions and create a Maven project

Build the Project Using Maven

You can compile and build your project using Maven by following below steps.
  • To compile Maven application you should be in the folder that has pom.xml
    • mvn compile
    • In the compilation step, it does all the test cases automatically
  • Then package project into jar file
    • mvn package
  • To run the code
    • java -cp target/MavenTestApp-1.0-SNAPSHOT.jar  org.amali.myProject.App 

Overview


To execute code Maven first need to check the availability of all the dependencies (external jar files that project needs).If dependencies are not found in local Maven repository, then it will download from the central Maven repository and put then in the local repository. Following image describes the above scenario. 







  • Archetype Information: 
    • Details of projects created
    • Required information for creating new projects
  • Dependency Information
    • list of dependent jar files
To generate archetype

To generate archetype you will need the following information:
  • Archetype: type of the application (JEE, Spring, Hibernate)
  • GroupId: path to store artifacts
  • ArtifactId : output name
  • Version
  • Package: package type (war, jar)
Pom.xml

POM stands for Project Object Model.A POM file is an XML representation of project resources like source code, test code, dependencies, etc.
  • Maven coordinates (groupId, artifactId, version)
  • Metadata
  • Build information
  • Resources and dependencies
Phases

There are several phases in Maven build life cycle:
  • Validate: all the things are in order
  • Compile: create class files
    • mvn compile
  • Test: execute all test cases
    • mvn test
  • Package: package the whole code
    • mvn package
  • Install: install local Maven repository
    • mvn install
  • Deploy: publish artifacts into remote repository
mvn clean: clean all the generated files and folders (target folder)

If you enter the new library to your source file: You have to include it as a dependency in pom.xml (search from https://mvnrepository.com/)

To get updated version every time
  • include the following lines inside plugin tabs
    <configuration>
    <ScanUntervalSeconds>5</ScanIntervalSeconds>
    </configuration>
Convert the project into Eclipse Project
  • mvn eclipse:eclipse
  • Install maven eclipse integrator in eclipse to run Maven commands on Eclipse





Comments

Popular posts from this blog

Introduction to JQuery

JQuery Open source JavaScript library. Cross browser compatibility Include the JQuery code inside this function       $(document).ready(function(){             your code is here             }); Creating CSS element : nothing added (body{}) class name : added fullstop (.clzname{}) id : added slash (#idname{}) JQuery Methods  click(): can include actions when after clicking defined button $("button").click mouseover: can include actions when over the mouse on defined element $(button').mouseover hover : can include tow functions when the mouse is over it and not $("img").hover load : execute when complete page is fully loaded  $("img").load JQuery Actions hide() : hide the defined content $("#right").hide() html() : change the html element with defined content $("p").html("<p>My content<p>") text() :  change the content as defined text $("p")

Sorting Algorithms

Bubble Sort Named as sinking sort. Compare each pair of the adjacent items and swap them if they are in the wrong order. Worst case and average case time complexity both O(n^2)  and best case time complexity is O(n).

JavaScript Objects and Prototypes

Create Objects Using function Create Objects without duplication code: use functions Using constructors To indicate a function is a constructor:  append new keyword in front of the function name when executing it Call Property of function object foo.call() = foo() Call can bind different objects and can execute functions __proto__ Copy of prototype object If some property is not in the object itself, it then looks it in the prototype. If it finds it returns the value of that property All the new object instances of function point to same prototype object prototype.constructor: property that points to function  GitHub repo:  https://github.com/kaosadi17/JavaScript/blob/master/objects%26prototypes.js