Maven - Creating Project

Maven uses archetype plugins to create projects. To create a simple java application, we'll use maven-archetype-quickstart plugin. In example below, we'll create a maven based java application project in C:\MVN folder.

Let's open the command console, go to the C:\MVN directory and execute the following mvn command. Make sure that C:\MVN directory is empty before running the command.

C:\MVN>mvn archetype:generate
-DgroupId = 
-DartifactId = consumerBanking 
-DarchetypeArtifactId = maven-archetype-quickstart 
-DinteractiveMode = false

Maven will start processing and will create the complete java application project structure.

C:\MVN>mvn archetype:generate -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
[INFO] Scanning for projects...
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] >>> maven-archetype-plugin:3.2.0:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO] <<< maven-archetype-plugin:3.2.0:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO] --- maven-archetype-plugin:3.2.0:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: C:\MVN
[INFO] Parameter: package, Value:
[INFO] Parameter: groupId, Value:
[INFO] Parameter: artifactId, Value: consumerBanking
[INFO] Parameter: packageName, Value:
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\MVN\consumerBanking
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  9.396 s
[INFO] Finished at: 2021-12-13T15:13:00+05:30
[INFO] ------------------------------------------------------------------------


Now go to C:/MVN directory. You'll see a java application project created, named consumer Banking (as specified in artifactId). Maven uses a standard directory layout as shown below −

Java application project structure

Using the above example, we can understand the following key concepts −

Sr.No. Folder Structure & Description


contains src folder and pom.xml



contains java code files under the package structure (com/companyName/bank).



contains test java code files under the package structure (com/companyName/bank).



it contains images/properties files (In above example, we need to create this structure manually).

If you observe, you will find that Maven also created a sample Java Source file and Java Test file. Open C:\MVN\consumerBanking\src\main\java\com\companyname\bank folder, you will see


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

Open C:\MVN\consumerBanking\src\test\java\com\companyname\bank folder to see


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 );

Developers are required to place their files as mentioned in table above and Maven handles all the build related complexities.

In the next chapter, we'll discuss how to build and test the project using maven Build and Test Project.