Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Maven Essentials

You're reading from   Maven Essentials Get started with the essentials of Apache Maven and get your build automation system up and running quickly

Arrow left icon
Product type Paperback
Published in Dec 2015
Publisher
ISBN-13 9781783986767
Length 184 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
Russell E Gold Russell E Gold
Author Profile Icon Russell E Gold
Russell E Gold
Prabath Siriwardena Prabath Siriwardena
Author Profile Icon Prabath Siriwardena
Prabath Siriwardena
Arrow right icon
View More author details
Toc

Table of Contents (9) Chapters Close

Preface 1. Apache Maven Quick Start FREE CHAPTER 2. Understanding the Project Object Model (POM) 3. Maven Archetypes 4. Maven Plugins 5. Build Lifecycles 6. Maven Assemblies 7. Best Practices Index

Hello Maven!

The easiest way to get started with a Maven project is to use the generate goal of the archetype plugin to generate a simple Maven project. Maven archetypes are discussed in detail in Chapter 3, Maven Archetypes, and plugins are covered in Chapter 4, Maven Plugins.

Let's start with a simple example:

$ mvn archetype:generate 
            -DgroupId=com.packt.samples  
            -DartifactId=com.packt.samples.archetype 
            -Dversion=1.0.0 
            -DinteractiveMode=false

This command will invoke the generate goal of the Maven archetype plugin to create a simple Java project. You will see that the following project structure is created with a sample POM file. The name of the root or the base directory is derived from the value of the artifactId parameter:

com.packt.samples.archetype 
               |-pom.xml
               |-src
               |-main/java/com/packt/samples/App.java
               |-test/java/com/packt/samples/AppTest.java    

The sample POM file will only have a dependency to the junit JAR file with test as the scope:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.packt.samples</groupId>
  <artifactId>com.packt.samples.archetype</artifactId>
  <packaging>jar</packaging>
  <version>1.0.0</version>
  <name>com.packt.samples.archetype</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>

The generated App.java class will have the following template code. The name of the package is derived from the provided groupId parameter. If you want to have a different value as the package name, then you need to pass this value in the command itself as -Dpackage=com.packt.samples.application:

package com.packt.samples;

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

To build the sample project, run the following command from the com.packt.samples.archetype directory, where the pom.xml file exists:

$ mvn clean install
You have been reading a chapter from
Maven Essentials
Published in: Dec 2015
Publisher:
ISBN-13: 9781783986767
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image