Maven POM template - an example

A pom.xml file to get you started with Maven

When you’re kickstarting a new Java project, you might find yourself getting stuck at the first hurdle. How do you set up your brand new project with Maven?

If you’re using Maven to build your project (and many teams use it, so you’re in good company!), you’ll find that you need to create something called a pom file. What’s a pom file? It’s an XML file – usually called pom.xml – where you tell Maven all about your project, and declare all of your dependencies.

You’re probably thinking, what does a pom file look like? And is there a basic beginner pom file that you can use?

Fortunately, most IDEs can create your pom file for you. Just create a new Java project and follow the wizard steps. But, if you’re doing this on your own, don’t worry! You don’t need to write one from scratch. We’ve prepared an example pom file for you.

Maven pom.xml template

Here’s an example pom.xml that you can use to kickstart your next project:

<project xmlns="" 




        <!-- Your dependencies go here, like this! -->

            <!-- Your plugins go here! -->


You can add this into your project’s folder as pom.xml. Don’t forget to:

  • Add the dependencies that you need in the dependencies section

  • Add any plugins you need in the plugins section

  • Start adding your source code into src/main/java

Alternative ways to bootstrap a Maven project

Are there any other ways to generate this pom file? Yes, many! Here are some of the ways:

  • Using your IDE. Most Java IDEs like IntelliJ or Eclipse include wizards or templates which can generate your pom file for you.

  • Spring has an online wizard called the Spring Initializr, which bootstraps a new Spring or Spring Boot project, and includes a ready-made pom file. Of course, this is mostly useful if you’re using the Spring framework.

  • Quarkus also has an online wizard at to bootstrap a new project. Again, only applies if you’re using Quarkus.

  • From the command line, Maven’s own mvn archetype:generate command will create a new project for you from an archetype (template).

But for now, I hope you found this example pom.xml useful!

Tom Donohue

By Tom Donohue, Editor | Twitter | LinkedIn

Tom is the founder of Tutorial Works. He’s an engineer and open source advocate. He uses the blog as a vehicle for sharing tutorials, writing about technology and talking about himself in the third person. His very first computer was an Acorn Electron.

Join the discussion

Got some thoughts on what you've just read? Want to know what other people think? Or is there anything technically wrong with the article? (We'd love to know so that we can correct it!) Join the conversation and leave a comment.

Comments are moderated.