Skip to content
  • Facebook
GeekCer Logo

GeekCer

The geek's Coding education and Review centre

  • Home
  • Tutorials
    • Java
    • Servlet
    • JSP
    • Python
    • C Tutorial
    • Spring
    • Spring Boot
    • MongoDB
    • Hibernate
    • Data Structure
  • General Knowledge
  • Biography
  • Grammar
  • Festival (त्योहार)
  • Interview
  • Differences
  • Important
  • Toggle search form

Home » Important » Maven Tutorial

  • Difference between final, finally and finalize
    Difference between final, finally and finalize Differences
  • Learn MongoDB Tutorial, Installation, MongoDB DataTypes
    Learn MongoDB Tutorial, Installation, MongoDB DataTypes MongoDB
  • HTML Tutorial
    HTML Tutorial Important
  • Difference between Bugs, Errors and Issues in Software Testing
    Difference between Bugs, Errors and Issues in Software Testing Important
  • Fundamental Rights of Indian Citizens
    Fundamental Rights of Indian Citizens | मौलिक अधिकार क्या हैं? General Knowledge
  • Indian Constitution भारतीय संविधान | भारत का संविधान
    Indian Constitution भारतीय संविधान | भारत का संविधान Important
  • Java If-else Statement
    Java If-else Statement Java
  • Different Types of Loans in India, Eligibility, Documents, Benefits
    Different Types of Loans in India, Eligibility, Documents, Benefits Important

Maven Tutorial

Posted on September 2, 2021October 20, 2021 By admin No Comments on Maven Tutorial
Maven Tutorial

Maven is built on POM and lets a developer understand the whole state of the development effort in a short amount of time. Developers may use this tool to create projects, produce reports, and documentation if needed.

Maven handles dependencies and the software lifecycle, as well as providing certain recommendations for the project’s directory structure. It uses plugins to integrate processes such as compiling, testing, packaging, and installing.

This tool manages dependencies and build artifacts better than other similar tools and requires less setup. Whenever you need to update the dependency version regularly, this will save your time by making minimal modifications.

The full form of POM is Project Object Model.

Table of Contents

  • When should you use Maven?
  • Steps of Maven Installation
    • Step 1: Add JAVA_HOME in environment variable
    • Step 2: Download and Extract Maven
    • Step 3: Add MAVEN_HOME in environment variable
    • Step 4: Add Maven path in environment variable
    • Step 5: Verify Installation
  • Maven Repository
    • Types of Maven Repository
  • Maven Build Lifecycle
    • Sequence of phases of build Lifecycle
  • Steps to create maven project
    • Standard Maven Project Directory
    • Generated pom.xml file
    • Generated App.java file
    • Generated AppTest.java file
  • Maven Build & Run Project
    • Clean Maven project
    • Compile Maven project
    • Run Maven project

When should you use Maven?

The scenarios in which you should use Maven are as follows:

  • If the project has a large number of dependencies and you need to update dependency versions frequently.
  • If you need to handle continuous building, integration, and testing.
  • When you need a quick way to create documentation from source code and compile it into JAR or ZIP files.

Steps of Maven Installation

Installing Apache Maven is a straight forward procedure. The archive is extracted during installation, and the folder path, which we set to MAVEN_HOME and bin is set to the folder path.

Step 1: Add JAVA_HOME in environment variable

This is the very first step in which we set the java home directory to the environment variable.

Add JAVA_HOME in environment variable

Step 2: Download and Extract Maven

In this step we download and extract the maven. You can download the latest software from this link.
Download

Download Maven

Extract : Here we extract the downloaded file.

Extract Maven

Step 3: Add MAVEN_HOME in environment variable

We set the maven folder path to the environment variable. You can follow the following path to set the path

My Computer/This PC | properties | Advanced System Settings | Advanced Tab | Environment variables | click New button

Add MAVEN_HOME in environment variable

Step 4: Add Maven path in environment variable

We set the bin directory path to the environment variable.

Add Maven path in environment variable

Step 5: Verify Installation

Finally, you can verify the installation by using command prompt. Just you have to type mvn -version and you will get the version.

Verify Maven Installation

Maven Repository

Maven saves build artifacts and dependencies in a repository, which is a basic folder. In other words, it saves all project jars, library jars, plugins, and any other project-specific artefacts so that it can quickly access them.

Types of Maven Repository

There are three types of Repositories available which are as follows:

  1. Local Repository
  2. Central Repository
  3. Remote Repository

If we configure all repositories in our project then it looks for dependencies from all three repositories. So the question is, in what order is it looking for dependencies as dependencies can be available in any repository?

So Maven will first look at the local repository, then the central repository, and then the remote repository, to find dependencies.

Maven Build Lifecycle

Maven is based on the build lifecycle concept which means that the process of building and distributing a particular project is clearly defined. There are three built-in build lifecycles:

  • default (Handles project deployment)
  • clean (Handles project cleaning)
  • site (For the site documentation of project)

Sequence of phases of build Lifecycle

Different lists of build phases define the build life cycle, a build phase represents a stage in the lifecycle. The default life cycle includes the following steps:

  • validate (Validate the project)
  • compile (Compile the source code)
  • test (Test the source code using a suitable unit testing framework.)
  • package (Take the compiled code and package it in its distributable format, such as a JAR.)
  • verify (Verifies results of integration tests to ensure quality criteria are met.)
  • install (Installs the package into the local repository)
  • deploy (Copies the final package to the repository)

To complete the default lifecycle, the lifecycle phases are executed sequentially.

Maven checks the project first, then tries to compile the source, runs the tests, packages the binaries, runs integration tests against that package, verifies the integration tests, and finally installs the verified package to the local repository, followed by deployment to the remote repository.

Steps to create maven project

To create Apache maven projects, we use the Archetype plugin. You’ll need to make a directory for your project and a location to start a shell in that directory before you can start working on it. There are many different types of projects that you may create. Some of them are as follows:

  • Sample project
  • J2EE project

To create Sample Project you will need –DarchetyeArtifactId=maven-archetype-quickstart command.

                  mvn archetype:generate 
-DgroupId=com.geekcer.app 
-DartifactId=sample-project 
-DarchetypeArtifactId=maven-archetype-quickstart 
-DinteractiveMode=false
        
                  C:\MavenSetup\Project>mvn archetype:generate -DgroupId=com.geekcer.app -DartifactId=sample-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.2.0:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.2.0:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO]
[INFO] --- maven-archetype-plugin:3.2.0:generate (default-cli) @ standalone-pom ---
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/31/maven-shared-components-31.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/31/maven-shared-components-31.pom (5.1 kB at 2.3 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-artifact-transfer/0.12.0/maven-artifact-transfer-0.12.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-artifact-transfer/0.12.0/maven-artifact-transfer-0.12.0.pom (11 kB at 21 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/3.0.1/maven-common-artifact-filters-3.0.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/3.0.1/maven-common-artifact-filters-3.0.1.pom (4.8 kB at 9.4 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.pom (2.7 kB at 5.9 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.5/slf4j-parent-1.7.5.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.5/slf4j-parent-1.7.5.pom (12 kB at 21 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-velocity/1.2/plexus-velocity-1.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-velocity/1.2/plexus-velocity-1.2.pom (2.8 kB at 5.4 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom (13 kB at 26 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/9/commons-parent-9.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/9/commons-parent-9.pom (22 kB at 43 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity/1.7/velocity-1.7.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity/1.7/velocity-1.7.pom (11 kB at 23 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.4/commons-lang-2.4.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.4/commons-lang-2.4.pom (14 kB at 27 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/3.3.3/wagon-provider-api-3.3.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/3.3.3/wagon-provider-api-3.3.3.pom (1.9 kB at 4.2 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/3.3.3/wagon-3.3.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/3.3.3/wagon-3.3.3.pom (21 kB at 39 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0/plexus-interactivity-api-1.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0/plexus-interactivity-api-1.0.pom (823 B at 1.7 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interactivity/1.0/plexus-interactivity-1.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interactivity/1.0/plexus-interactivity-1.0.pom (1.6 kB at 3.4 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/4.13/junit-4.13.pom
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/4.13/junit-4.13.pom (25 kB at 46 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-script-interpreter/1.0/maven-script-interpreter-1.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-script-interpreter/1.0/maven-script-interpreter-1.0.pom (3.8 kB at 8.4 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy/1.8.3/groovy-1.8.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy/1.8.3/groovy-1.8.3.pom (32 kB at 57 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/antlr/antlr/2.7.7/antlr-2.7.7.pom
Downloaded from central: https://repo.maven.apache.org/maven2/antlr/antlr/2.7.7/antlr-2.7.7.pom (632 B at 1.5 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/asm/asm/3.2/asm-3.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/asm/asm/3.2/asm-3.2.pom (264 B at 590 B/s)
Downloading from central: https://repo.maven.apache.org/maven2/asm/asm-parent/3.2/asm-parent-3.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/asm/asm-parent/3.2/asm-parent-3.2.pom (4.4 kB at 9.7 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/asm/asm-commons/3.2/asm-commons-3.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/asm/asm-commons/3.2/asm-commons-3.2.pom (415 B at 930 B/s)
Downloading from central: https://repo.maven.apache.org/maven2/asm/asm-tree/3.2/asm-tree-3.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/asm/asm-tree/3.2/asm-tree-3.2.pom (404 B at 916 B/s)
Downloading from central: https://repo.maven.apache.org/maven2/asm/asm-util/3.2/asm-util-3.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/asm/asm-util/3.2/asm-util-3.2.pom (409 B at 801 B/s)
Downloading from central: https://repo.maven.apache.org/maven2/asm/asm-analysis/3.2/asm-analysis-3.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/asm/asm-analysis/3.2/asm-analysis-3.2.pom (417 B at 945 B/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.pom (1.2 kB at 2.8 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom (1.4 kB at 3.3 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.8.1/ant-1.8.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.8.1/ant-1.8.1.pom (8.8 kB at 13 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/ant/ant-parent/1.8.1/ant-parent-1.8.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/ant/ant-parent/1.8.1/ant-parent-1.8.1.pom (4.3 kB at 7.6 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/archetype-catalog/3.2.0/archetype-catalog-3.2.0.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/ivy/ivy/2.5.0/ivy-2.5.0.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy/2.4.16/groovy-2.4.16.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/archetype-common/3.2.0/archetype-common-3.2.0.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/archetype-descriptor/3.2.0/archetype-descriptor-3.2.0.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/archetype-catalog/3.2.0/archetype-catalog-3.2.0.jar (19 kB at 39 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.jar
Downloaded from central: https://repo.maven.apache.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.jar (27 kB at 23 kB/s)
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/archetype-descriptor/3.2.0/archetype-descriptor-3.2.0.jar (24 kB at 20 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/jdom/jdom/1.1.3/jdom-1.1.3.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-velocity/1.2/plexus-velocity-1.2.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-velocity/1.2/plexus-velocity-1.2.jar (8.1 kB at 4.5 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity/1.7/velocity-1.7.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/archetype-common/3.2.0/archetype-common-3.2.0.jar (184 kB at 72 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.4/commons-lang-2.4.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/jdom/jdom/1.1.3/jdom-1.1.3.jar (151 kB at 47 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/3.3.3/wagon-provider-api-3.3.3.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/3.3.3/wagon-provider-api-3.3.3.jar (56 kB at 12 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.25/plexus-interpolation-1.25.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/ivy/ivy/2.5.0/ivy-2.5.0.jar (1.4 MB at 271 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0/plexus-interactivity-api-1.0.jar
Downloaded from central: https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.4/commons-lang-2.4.jar (262 kB at 49 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/4.13/junit-4.13.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.25/plexus-interpolation-1.25.jar (85 kB at 15 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-invoker/3.0.1/maven-invoker-3.0.1.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0/plexus-interactivity-api-1.0.jar (9.8 kB at 1.6 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-artifact-transfer/0.12.0/maven-artifact-transfer-0.12.0.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity/1.7/velocity-1.7.jar (450 kB at 72 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/3.0.1/maven-common-artifact-filters-3.0.1.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy/2.4.16/groovy-2.4.16.jar (4.7 MB at 724 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-invoker/3.0.1/maven-invoker-3.0.1.jar (33 kB at 5.0 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/3.0.1/maven-common-artifact-filters-3.0.1.jar (61 kB at 8.8 kB/s)
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-artifact-transfer/0.12.0/maven-artifact-transfer-0.12.0.jar (120 kB at 17 kB/s)
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar (26 kB at 3.7 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.8.1/ant-1.8.1.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-script-interpreter/1.0/maven-script-interpreter-1.0.jar
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/4.13/junit-4.13.jar (382 kB at 54 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-script-interpreter/1.0/maven-script-interpreter-1.0.jar (21 kB at 2.8 kB/s)
Downloaded from central: https://repo.maven.apache.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar (282 kB at 34 kB/s)
Downloaded from central: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar (575 kB at 66 kB/s)
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.8.1/ant-1.8.1.jar (1.5 MB at 170 kB/s)
[INFO] Generating project in Batch mode
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.pom (703 B at 1.4 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-bundles/2/maven-archetype-bundles-2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-bundles/2/maven-archetype-bundles-2.pom (1.5 kB at 2.9 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/maven-archetype-parent/1/maven-archetype-parent-1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/maven-archetype-parent/1/maven-archetype-parent-1.pom (1.3 kB at 2.5 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/4/maven-parent-4.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/4/maven-parent-4.pom (10.0 kB at 22 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.jar (4.3 kB at 8.2 kB/s)
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: C:\MavenSetup\Project
[INFO] Parameter: package, Value: com.geekcer.app
[INFO] Parameter: groupId, Value: com.geekcer.app
[INFO] Parameter: artifactId, Value: sample-project
[INFO] Parameter: packageName, Value: com.geekcer.app
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\MavenSetup\Project\sample-project
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  40.014 s
[INFO] Finished at: 2021-04-01T08:59:05+05:30
[INFO] ------------------------------------------------------------------------
'cmd' is not recognized as an internal or external command,
operable program or batch file.
        

Standard Maven Project Directory

When you run the command it creates a project directory that looks like the following structure:

                  sample-project
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- geekcer
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- geekcer
                    `-- app
                        `-- AppTest.java
        

Generated pom.xml file

The command also generates the pom.xml file.

                  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.geekcer.app</groupId>
  <artifactId>sample-project</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>sample-project</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
        

Generated App.java file

                  package com.geekcer.app;

/**
 * Hello world!
 *
 */ 
public class App
{
  public static void main(String[] args )
  {
    System.out.println( "Hello World!" );
  }
}
        

Generated AppTest.java file

                  package com.geekcer.app;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}
        

Maven Build & Run Project

Clean Maven project

                  mvn clean 
        
                  C:\MavenSetup\Project\sample-project>mvn clean 
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.geekcer.app:sample-project >-------------------
[INFO] Building sample-project 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ sample-project ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.078 s
[INFO] Finished at: 2021-04-02T10:19:05+05:30
[INFO] ------------------------------------------------------------------------
'cmd' is not recognized as an internal or external command,
operable program or batch file.
        

Compile Maven project

mvn compile
                  C:\MavenSetup\Project\sample-project>mvn compile 
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.geekcer.app:sample-project >-------------------
[INFO] Building sample-project 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ sample-project ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:\MavenSetup\Project\sample-project\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ sample-project ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] Compiling 1 source file to C:\MavenSetup\Project\sample-project\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  6.407 s
[INFO] Finished at: 2021-04-02T10:20:52+05:30
[INFO] ------------------------------------------------------------------------
'cmd' is not recognized as an internal or external command,
operable program or batch file.
        

Run Maven project

To run project, Go to <project-directory>\target\classes directory

                  <project-directory>\target\classes> java <class-name>
        
                  C:\MavenSetup\Project\sample-project\target\classes>java com.geekcer.app.App
Hello World!

Here com.geekcer.app is package name.

In conclusion, in this article you have learned the basic description, installation steps, the types of repository and the order in which it find the repository.

If you do not know what java is, you can learn more by going here.

Reference(s):
For more details click here…

Share this:

  • Click to share on Facebook (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
  • Click to share on Twitter (Opens in new window)
  • More
  • Click to share on LinkedIn (Opens in new window)
  • Click to share on Pinterest (Opens in new window)

Also Read

Important Tags:Life Cycle, Maven, Software Development

Post navigation

Previous Post: HTML Tutorial
Next Post: Waterfall Model in Hindi (Waterfall Model क्या है?)

More Related Articles

Different Types of Loans in India, Eligibility, Documents, Benefits Different Types of Loans in India, Eligibility, Documents, Benefits Important
Immutable class in Java Immutable class in Java | How to create Immutable class in Java Important
What is Internship? How to get Internship? What is Internship and how to get Internship? Important
Join Queries in Oracle, Sql Joins, Self, Inner, Outer, Equi Join Queries in Oracle, Learning Advance Sql Joins, Example Important
PHP Tutorial for Beginners in One Page PHP Tutorial for Beginners in One Page Important
Difference Between get() and load() in Hibernate with example Difference Between get() and load() in Hibernate with example Differences

Related Posts

  • Different Types of Loans in India, Eligibility, Documents, Benefits
    Different Types of Loans in India, Eligibility, Documents, Benefits Important
  • Immutable class in Java
    Immutable class in Java | How to create Immutable class in Java Important
  • What is Internship? How to get Internship?
    What is Internship and how to get Internship? Important
  • Join Queries in Oracle, Sql Joins, Self, Inner, Outer, Equi
    Join Queries in Oracle, Learning Advance Sql Joins, Example Important
  • PHP Tutorial for Beginners in One Page
    PHP Tutorial for Beginners in One Page Important
  • Difference Between get() and load() in Hibernate with example
    Difference Between get() and load() in Hibernate with example Differences

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Maharishi Valmiki in Hindi, Biography, Dacoit Ratnakar, Jayanti
  • Structured Vs Unstructured Data in Hindi | Key Difference
  • Jhansi Ki Rani Lakshmi Bai History, Story, Information in Hindi
  • Elon musk Hindi : एलन मस्क हिंदी में, Autobiography,  Net Worth
  • World Environment Day in Hindi : Objective, Importance, Theme
  • Thomas Edison Biography in Hindi – थॉमस एडिसन जीवनी
  • International Nurses Day in Hindi | नर्स दिवस क्यों मनाते हैं?
  • Fork/Join Framework in Java | RecursiveTask, RecursiveAction
  • Difference between final, finally and finalize
    Difference between final, finally and finalize Differences
  • Learn MongoDB Tutorial, Installation, MongoDB DataTypes
    Learn MongoDB Tutorial, Installation, MongoDB DataTypes MongoDB
  • HTML Tutorial
    HTML Tutorial Important
  • Difference between Bugs, Errors and Issues in Software Testing
    Difference between Bugs, Errors and Issues in Software Testing Important
  • Fundamental Rights of Indian Citizens
    Fundamental Rights of Indian Citizens | मौलिक अधिकार क्या हैं? General Knowledge
  • Indian Constitution भारतीय संविधान | भारत का संविधान
    Indian Constitution भारतीय संविधान | भारत का संविधान Important
  • Java If-else Statement
    Java If-else Statement Java
  • Different Types of Loans in India, Eligibility, Documents, Benefits
    Different Types of Loans in India, Eligibility, Documents, Benefits Important
  • Java Tutorial
  • Servlet Tutorial
  • JSP Tutorial
  • Maven Tutorial
  • HTML Tutorial
  • Programs
  • Hindi/English Grammar
  • Difference Between ... and ...
  • HR Interview
  • Important Articles

Write to Us:
geekcer.code@gmail.com

  • About Us
  • Privacy and Policy
  • Disclaimer
  • Contact Us
  • Sitemap

Copyright © GeekCer 2022 All Rights reserved