{"id":8,"date":"2026-10-08T14:41:29","date_gmt":"2026-10-08T14:41:29","guid":{"rendered":"https:\/\/54.144.5.166\/?p=8"},"modified":"2026-10-08T15:07:42","modified_gmt":"2026-10-08T15:07:42","slug":"apache-maven-tutorial","status":"publish","type":"post","link":"https:\/\/boot-code.com\/?p=8","title":{"rendered":"Apache Maven Tutorial"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Absolutely. Here\u2019s a beginner-friendly <strong>Apache Maven tutorial<\/strong> covering installation, setup, and creating a simple Java project from scratch.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. What is Maven?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Apache Maven is a build and dependency-management tool for Java projects.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Maven can help you:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Compile Java code<\/li>\n\n\n\n<li>Download and manage dependencies<\/li>\n\n\n\n<li>Run tests<\/li>\n\n\n\n<li>Package applications into JAR\/WAR files<\/li>\n\n\n\n<li>Maintain a standard project structure<\/li>\n\n\n\n<li>Automate common build tasks<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The main Maven configuration file is:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pom.xml\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>POM<\/code> means <strong>Project Object Model<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">2. Prerequisites<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">You need:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Java JDK<\/strong><\/li>\n\n\n\n<li><strong>Apache Maven<\/strong><\/li>\n\n\n\n<li>A code editor\/IDE such as IntelliJ IDEA, Eclipse, or VS Code<\/li>\n\n\n\n<li>A terminal\/command prompt<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">First check whether Java is installed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>java -version\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Also check the Java compiler:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>javac -version\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You should get output similar to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>java version \"21...\"\njavac 21...\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If <code>java<\/code> or <code>javac<\/code> isn&#8217;t recognized, install a JDK first.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">3. Install Maven<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Download Apache Maven from the official Maven website:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/maven.apache.org\/?utm_source=chatgpt.com\">Apache Maven official site<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Download the <strong>Binary zip archive<\/strong>, for example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apache-maven-3.x.x-bin.zip\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Extract it somewhere such as:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>C:\\Program Files\\Apache\\maven\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">or:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>C:\\apache-maven\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">4. Configure Maven on Windows<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Assuming Maven was extracted to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>C:\\apache-maven\\apache-maven-3.x.x\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Add the following environment variable:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MAVEN_HOME=C:\\apache-maven\\apache-maven-3.x.x\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then add Maven&#8217;s <code>bin<\/code> directory to your <code>PATH<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>%MAVEN_HOME%\\bin\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Check Maven<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open a <strong>new<\/strong> Command Prompt or PowerShell window:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn -version\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You should see something similar to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Apache Maven 3.x.x\nMaven home: C:\\apache-maven\\apache-maven-3.x.x\nJava version: 21\nJava home: ...\nOS name: Windows\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you see this, Maven is installed successfully.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">5. Install Maven on Linux<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">On Ubuntu\/Debian, you can install Maven with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install maven\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn -version\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Alternatively, you can download Maven directly from the official Apache Maven site.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">6. Install Maven on macOS<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">If you use Homebrew:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>brew install maven\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then verify:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn -version\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">7. Create Your First Maven Project<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s create a very simple Java application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open your terminal and run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn archetype:generate \\\n  -DgroupId=com.example \\\n  -DartifactId=hello-maven \\\n  -DarchetypeArtifactId=maven-archetype-quickstart \\\n  -DinteractiveMode=false\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On Windows PowerShell, you can also put it on one line:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn archetype:generate -DgroupId=com.example -DartifactId=hello-maven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Maven will create:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>hello-maven\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Go inside the project:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd hello-maven\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">8. Understand the Maven Project Structure<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">You should have something similar to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>hello-maven\n\u2502\n\u251c\u2500\u2500 pom.xml\n\u2502\n\u2514\u2500\u2500 src\n    \u251c\u2500\u2500 main\n    \u2502   \u2514\u2500\u2500 java\n    \u2502       \u2514\u2500\u2500 com\n    \u2502           \u2514\u2500\u2500 example\n    \u2502               \u2514\u2500\u2500 App.java\n    \u2502\n    \u2514\u2500\u2500 test\n        \u2514\u2500\u2500 java\n            \u2514\u2500\u2500 com\n                \u2514\u2500\u2500 example\n                    \u2514\u2500\u2500 AppTest.java\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This structure is important because Maven follows conventions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>src\/main\/java<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Contains your application source code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>src\/test\/java<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Contains your test code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>pom.xml<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Contains project configuration and dependencies.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">9. Open <code>pom.xml<\/code><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">You&#8217;ll see something similar to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;project&gt;\n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\n    &lt;groupId&gt;com.example&lt;\/groupId&gt;\n    &lt;artifactId&gt;hello-maven&lt;\/artifactId&gt;\n    &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\n\n    &lt;dependencies&gt;\n        ...\n    &lt;\/dependencies&gt;\n&lt;\/project&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The three most important coordinates are:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;groupId&gt;com.example&lt;\/groupId&gt;\n&lt;artifactId&gt;hello-maven&lt;\/artifactId&gt;\n&lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Think of them as the project&#8217;s identity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">groupId<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Usually represents your organization or package:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>com.example\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">artifactId<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The name of your project:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>hello-maven\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">version<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The project version:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1.0-SNAPSHOT\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">10. Create a Simple Java Program<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Open:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>src\/main\/java\/com\/example\/App.java\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Replace its contents with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package com.example;\n\npublic class App {\n\n    public static void main(String&#91;] args) {\n        System.out.println(\"Hello, Maven!\");\n    }\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">11. Compile the Project<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">From the project directory:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn compile\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Maven will:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Read <code>pom.xml<\/code><\/li>\n\n\n\n<li>Resolve required dependencies<\/li>\n\n\n\n<li>Compile your Java code<\/li>\n\n\n\n<li>Put compiled classes under:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>target\/classes\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You should see:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>BUILD SUCCESS\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">12. Run the Program<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Maven itself primarily handles the build lifecycle. For a simple application, one convenient option is to use the Maven Exec plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Add this to your <code>pom.xml<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;build&gt;\n    &lt;plugins&gt;\n        &lt;plugin&gt;\n            &lt;groupId&gt;org.codehaus.mojo&lt;\/groupId&gt;\n            &lt;artifactId&gt;exec-maven-plugin&lt;\/artifactId&gt;\n            &lt;version&gt;3.5.0&lt;\/version&gt;\n            &lt;configuration&gt;\n                &lt;mainClass&gt;com.example.App&lt;\/mainClass&gt;\n            &lt;\/configuration&gt;\n        &lt;\/plugin&gt;\n    &lt;\/plugins&gt;\n&lt;\/build&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn exec:java\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Hello, Maven!\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">13. Run Tests<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">The generated project contains a test.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn test\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Maven will compile the test code and execute it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You should eventually see:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Tests run: 1, Failures: 0, Errors: 0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">and:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>BUILD SUCCESS\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">14. Package the Application<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn package\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Maven performs the necessary lifecycle phases and creates a JAR.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You&#8217;ll find it inside:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>target\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>target\/hello-maven-1.0-SNAPSHOT.jar\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The basic Maven lifecycle is:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>validate\n   \u2193\ncompile\n   \u2193\ntest\n   \u2193\npackage\n   \u2193\nverify\n   \u2193\ninstall\n   \u2193\ndeploy\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You don&#8217;t normally need to run every phase individually. For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn package\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">will run the earlier required phases too.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">15. Clean the Project<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Maven creates a <code>target<\/code> directory containing generated files.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To remove it:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn clean\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>target\/\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">will be removed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A very common command is:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn clean package\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This means:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Delete previous build output<\/li>\n\n\n\n<li>Compile<\/li>\n\n\n\n<li>Test<\/li>\n\n\n\n<li>Package<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">16. Maven Dependencies<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">One of Maven&#8217;s biggest advantages is dependency management.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, suppose you want to use Google&#8217;s Gson library.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can add a dependency inside <code>&lt;dependencies&gt;<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;dependency&gt;\n    &lt;groupId&gt;com.google.code.gson&lt;\/groupId&gt;\n    &lt;artifactId&gt;gson&lt;\/artifactId&gt;\n    &lt;version&gt;2.13.2&lt;\/version&gt;\n&lt;\/dependency&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then Maven downloads the library automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You don&#8217;t have to manually download a JAR and add it to your classpath.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your <code>pom.xml<\/code> might look like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;project xmlns=\"http:\/\/maven.apache.org\/POM\/4.0.0\"\n         xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n         xsi:schemaLocation=\"http:\/\/maven.apache.org\/POM\/4.0.0\n         https:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"&gt;\n\n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\n    &lt;groupId&gt;com.example&lt;\/groupId&gt;\n    &lt;artifactId&gt;hello-maven&lt;\/artifactId&gt;\n    &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\n\n    &lt;properties&gt;\n        &lt;maven.compiler.release&gt;21&lt;\/maven.compiler.release&gt;\n    &lt;\/properties&gt;\n\n    &lt;dependencies&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;com.google.code.gson&lt;\/groupId&gt;\n            &lt;artifactId&gt;gson&lt;\/artifactId&gt;\n            &lt;version&gt;2.13.2&lt;\/version&gt;\n        &lt;\/dependency&gt;\n    &lt;\/dependencies&gt;\n\n&lt;\/project&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn compile\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Maven resolves the dependency and makes it available to your project.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">17. Important Maven Commands<\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Command<\/th><th>Purpose<\/th><\/tr><\/thead><tbody><tr><td><code>mvn -version<\/code><\/td><td>Check Maven installation<\/td><\/tr><tr><td><code>mvn clean<\/code><\/td><td>Delete build output<\/td><\/tr><tr><td><code>mvn compile<\/code><\/td><td>Compile source code<\/td><\/tr><tr><td><code>mvn test<\/code><\/td><td>Run tests<\/td><\/tr><tr><td><code>mvn package<\/code><\/td><td>Create JAR\/WAR<\/td><\/tr><tr><td><code>mvn clean package<\/code><\/td><td>Clean and package<\/td><\/tr><tr><td><code>mvn install<\/code><\/td><td>Install artifact into local Maven repository<\/td><\/tr><tr><td><code>mvn verify<\/code><\/td><td>Run verification checks<\/td><\/tr><tr><td><code>mvn dependency:tree<\/code><\/td><td>Display project dependencies<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">18. Maven Local Repository<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">When Maven downloads dependencies, it stores them in your local Maven repository.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On Windows, this is normally:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>C:\\Users\\&lt;username&gt;\\.m2\\repository\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On Linux\/macOS:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~\/.m2\/repository\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For example, after downloading Gson, you may find it under something like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~\/.m2\/repository\/com\/google\/code\/gson\/\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This prevents Maven from downloading the same dependency repeatedly.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">19. Complete Beginner Workflow<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">A typical Maven development cycle looks like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Create project\n     \u2193\nEdit pom.xml\n     \u2193\nWrite Java code\n     \u2193\nmvn compile\n     \u2193\nmvn test\n     \u2193\nmvn package\n     \u2193\nJAR created in target\/\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For everyday development, you&#8217;ll frequently use:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn clean package\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">and, when you want to install the artifact into your local Maven repository:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn clean install\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">20. The Most Important Things to Remember<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;re learning Maven for the first time, focus on these five concepts:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong><code>pom.xml<\/code><\/strong> \u2014 Maven&#8217;s project configuration file.<\/li>\n\n\n\n<li><strong><code>src\/main\/java<\/code><\/strong> \u2014 your application source code.<\/li>\n\n\n\n<li><strong><code>src\/test\/java<\/code><\/strong> \u2014 your test code.<\/li>\n\n\n\n<li><strong><code>target\/<\/code><\/strong> \u2014 generated build output; don&#8217;t normally edit it manually.<\/li>\n\n\n\n<li><strong>Maven lifecycle<\/strong> \u2014 commands such as <code>compile<\/code>, <code>test<\/code>, <code>package<\/code>, and <code>install<\/code>.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">A good next step is to learn <strong>how to create the same Maven project manually in IntelliJ IDEA<\/strong>, then add a dependency such as <strong>JUnit<\/strong> and build a small Java application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Absolutely. Here\u2019s a beginner-friendly Apache Maven tutorial covering installation, setup, and creating a simple Java project from scratch. 1. What is Maven? Apache Maven is a build and dependency-management tool for Java projects. Maven can help you: The main Maven&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[8,1],"tags":[12],"class_list":["post-8","post","type-post","status-publish","format-standard","hentry","category-maven","category-uncategorized","tag-maven"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Absolutely. Here\u2019s a beginner-friendly Apache Maven tutorial covering installation, setup, and creating a simple Java project from scratch. 1. What is Maven? Apache Maven is a build and dependency-management tool for Java projects. Maven can help you: Compile Java code Download and manage dependencies Run tests Package applications into JAR\/WAR files Maintain a standard project\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"DEVESH\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/boot-code.com\/?p=8\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"boot-code.com - programming tutorials\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Apache Maven Tutorial - boot-code.com\" \/>\n\t\t<meta property=\"og:description\" content=\"Absolutely. Here\u2019s a beginner-friendly Apache Maven tutorial covering installation, setup, and creating a simple Java project from scratch. 1. What is Maven? Apache Maven is a build and dependency-management tool for Java projects. Maven can help you: Compile Java code Download and manage dependencies Run tests Package applications into JAR\/WAR files Maintain a standard project\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/boot-code.com\/?p=8\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-08T14:41:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-08T15:07:42+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Apache Maven Tutorial - boot-code.com\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Absolutely. Here\u2019s a beginner-friendly Apache Maven tutorial covering installation, setup, and creating a simple Java project from scratch. 1. What is Maven? Apache Maven is a build and dependency-management tool for Java projects. Maven can help you: Compile Java code Download and manage dependencies Run tests Package applications into JAR\/WAR files Maintain a standard project\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/?p=8#blogposting\",\"name\":\"Apache Maven Tutorial - boot-code.com\",\"headline\":\"Apache Maven Tutorial\",\"author\":{\"@id\":\"https:\\\/\\\/boot-code.com\\\/?author=1#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/boot-code.com\\\/#organization\"},\"datePublished\":\"2026-10-08T14:41:29+00:00\",\"dateModified\":\"2026-10-08T15:07:42+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/boot-code.com\\\/?p=8#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/boot-code.com\\\/?p=8#webpage\"},\"articleSection\":\"Maven, Uncategorized, maven\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/?p=8#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/boot-code.com\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/?cat=1#listItem\",\"name\":\"Uncategorized\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/?cat=1#listItem\",\"position\":2,\"name\":\"Uncategorized\",\"item\":\"https:\\\/\\\/boot-code.com\\\/?cat=1\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/?p=8#listItem\",\"name\":\"Apache Maven Tutorial\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/?p=8#listItem\",\"position\":3,\"name\":\"Apache Maven Tutorial\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/?cat=1#listItem\",\"name\":\"Uncategorized\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/#organization\",\"name\":\"boot-code.com boot-code.com\",\"description\":\"programming tutorials programming tutorials\",\"url\":\"https:\\\/\\\/boot-code.com\\\/\",\"telephone\":\"+919259571202\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/?author=1#author\",\"url\":\"https:\\\/\\\/boot-code.com\\\/?author=1\",\"name\":\"DEVESH\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/?p=8#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"DEVESH\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/?p=8#webpage\",\"url\":\"https:\\\/\\\/boot-code.com\\\/?p=8\",\"name\":\"Apache Maven Tutorial - boot-code.com\",\"description\":\"Absolutely. Here\\u2019s a beginner-friendly Apache Maven tutorial covering installation, setup, and creating a simple Java project from scratch. 1. What is Maven? Apache Maven is a build and dependency-management tool for Java projects. Maven can help you: Compile Java code Download and manage dependencies Run tests Package applications into JAR\\\/WAR files Maintain a standard project\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/boot-code.com\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/boot-code.com\\\/?p=8#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/boot-code.com\\\/?author=1#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/boot-code.com\\\/?author=1#author\"},\"datePublished\":\"2026-10-08T14:41:29+00:00\",\"dateModified\":\"2026-10-08T15:07:42+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/boot-code.com\\\/#website\",\"url\":\"https:\\\/\\\/boot-code.com\\\/\",\"name\":\"boot-code.com\",\"description\":\"programming tutorials\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/boot-code.com\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Apache Maven Tutorial - boot-code.com","description":"Absolutely. Here\u2019s a beginner-friendly Apache Maven tutorial covering installation, setup, and creating a simple Java project from scratch. 1. What is Maven? Apache Maven is a build and dependency-management tool for Java projects. Maven can help you: Compile Java code Download and manage dependencies Run tests Package applications into JAR\/WAR files Maintain a standard project","canonical_url":"https:\/\/boot-code.com\/?p=8","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/boot-code.com\/?p=8#blogposting","name":"Apache Maven Tutorial - boot-code.com","headline":"Apache Maven Tutorial","author":{"@id":"https:\/\/boot-code.com\/?author=1#author"},"publisher":{"@id":"https:\/\/boot-code.com\/#organization"},"datePublished":"2026-10-08T14:41:29+00:00","dateModified":"2026-10-08T15:07:42+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/boot-code.com\/?p=8#webpage"},"isPartOf":{"@id":"https:\/\/boot-code.com\/?p=8#webpage"},"articleSection":"Maven, Uncategorized, maven"},{"@type":"BreadcrumbList","@id":"https:\/\/boot-code.com\/?p=8#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/boot-code.com\/#listItem","position":1,"name":"Home","item":"https:\/\/boot-code.com\/","nextItem":{"@type":"ListItem","@id":"https:\/\/boot-code.com\/?cat=1#listItem","name":"Uncategorized"}},{"@type":"ListItem","@id":"https:\/\/boot-code.com\/?cat=1#listItem","position":2,"name":"Uncategorized","item":"https:\/\/boot-code.com\/?cat=1","nextItem":{"@type":"ListItem","@id":"https:\/\/boot-code.com\/?p=8#listItem","name":"Apache Maven Tutorial"},"previousItem":{"@type":"ListItem","@id":"https:\/\/boot-code.com\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/boot-code.com\/?p=8#listItem","position":3,"name":"Apache Maven Tutorial","previousItem":{"@type":"ListItem","@id":"https:\/\/boot-code.com\/?cat=1#listItem","name":"Uncategorized"}}]},{"@type":"Organization","@id":"https:\/\/boot-code.com\/#organization","name":"boot-code.com boot-code.com","description":"programming tutorials programming tutorials","url":"https:\/\/boot-code.com\/","telephone":"+919259571202"},{"@type":"Person","@id":"https:\/\/boot-code.com\/?author=1#author","url":"https:\/\/boot-code.com\/?author=1","name":"DEVESH","image":{"@type":"ImageObject","@id":"https:\/\/boot-code.com\/?p=8#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514?s=96&d=mm&r=g","width":96,"height":96,"caption":"DEVESH"}},{"@type":"WebPage","@id":"https:\/\/boot-code.com\/?p=8#webpage","url":"https:\/\/boot-code.com\/?p=8","name":"Apache Maven Tutorial - boot-code.com","description":"Absolutely. Here\u2019s a beginner-friendly Apache Maven tutorial covering installation, setup, and creating a simple Java project from scratch. 1. What is Maven? Apache Maven is a build and dependency-management tool for Java projects. Maven can help you: Compile Java code Download and manage dependencies Run tests Package applications into JAR\/WAR files Maintain a standard project","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/boot-code.com\/#website"},"breadcrumb":{"@id":"https:\/\/boot-code.com\/?p=8#breadcrumblist"},"author":{"@id":"https:\/\/boot-code.com\/?author=1#author"},"creator":{"@id":"https:\/\/boot-code.com\/?author=1#author"},"datePublished":"2026-10-08T14:41:29+00:00","dateModified":"2026-10-08T15:07:42+00:00"},{"@type":"WebSite","@id":"https:\/\/boot-code.com\/#website","url":"https:\/\/boot-code.com\/","name":"boot-code.com","description":"programming tutorials","inLanguage":"en-US","publisher":{"@id":"https:\/\/boot-code.com\/#organization"}}]},"og:locale":"en_US","og:site_name":"boot-code.com - programming tutorials","og:type":"article","og:title":"Apache Maven Tutorial - boot-code.com","og:description":"Absolutely. Here\u2019s a beginner-friendly Apache Maven tutorial covering installation, setup, and creating a simple Java project from scratch. 1. What is Maven? Apache Maven is a build and dependency-management tool for Java projects. Maven can help you: Compile Java code Download and manage dependencies Run tests Package applications into JAR\/WAR files Maintain a standard project","og:url":"https:\/\/boot-code.com\/?p=8","article:published_time":"2026-10-08T14:41:29+00:00","article:modified_time":"2026-10-08T15:07:42+00:00","twitter:card":"summary_large_image","twitter:title":"Apache Maven Tutorial - boot-code.com","twitter:description":"Absolutely. Here\u2019s a beginner-friendly Apache Maven tutorial covering installation, setup, and creating a simple Java project from scratch. 1. What is Maven? Apache Maven is a build and dependency-management tool for Java projects. Maven can help you: Compile Java code Download and manage dependencies Run tests Package applications into JAR\/WAR files Maintain a standard project"},"aioseo_meta_data":{"post_id":"8","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-10-08 14:41:30","updated":"2026-10-08 15:40:44"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/boot-code.com\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/boot-code.com\/?cat=1\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tApache Maven Tutorial\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/boot-code.com\/"},{"label":"Uncategorized","link":"https:\/\/boot-code.com\/?cat=1"},{"label":"Apache Maven Tutorial","link":"https:\/\/boot-code.com\/?p=8"}],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/boot-code.com\/index.php?rest_route=\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/boot-code.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/boot-code.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/boot-code.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/boot-code.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":2,"href":"https:\/\/boot-code.com\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions"}],"predecessor-version":[{"id":10,"href":"https:\/\/boot-code.com\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions\/10"}],"wp:attachment":[{"href":"https:\/\/boot-code.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/boot-code.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/boot-code.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}