Bootstraps a Maven project. Because archetypes shouldn’t be so complicated.
Introduction
Mvnizer is ideal to create a throwaway Maven project that adds junit as a dependency and sets up the Maven project structure.
Install
Mvnizer can be installed as follows:
$ gem install mvnizer
Developing Mvnizer
To work on Mvnizer itself, you can use the provided Dockerfile.
$ docker build -t mvnizer-dev . $ docker run -it -v $(pwd):/usr/src/app mvnizer-dev
Commands
Project Creation
Mvnizer is used as follows:
$ mvnizer new <coordinates>
The coordinates can have the following format:
<group:>artifact<:version><:type>
with the values between angled brackets optional. type can only have one of the following three values: jar (default), war or pom. This command creates a project in the artifact folder, populating the proper values in the pom file.
Here are some examples of valid commands:
mvnizer new foo mvnizer new foo:war mvnizer new foo:1.0.0:war mvnizer new com.example:foo mvnizer new com.example:foo:war mvnizer new com.example:foo:1.0.0:war
The version must be of the form major.minor.patch-classifier.
Options
The following options can be used to add specific files to the project:
--docker- this creates a
Dockerfilebased on the Java 11 distroless base image. It assumes that the jar generated by the build can be executed using thejava -jarcommand; --main=[Main class name]- this creates a class with a
mainmethod that can be executed using thejava -jarcommand. It also adds themaven-shade-pluginto the pom, with this class as the main class. --logger- this adds logging dependencies to the project. The jar added are defined as the
logging_depsof the configuration file. The default are:
logging_deps: [ "org.slf4j:slf4j-api:2.0.17:jar",
"org.slf4j:slf4j-simple:2.0.17:jar",
"ch.qos.logback:logback-core:1.5.26:jar" ]
WAR Project
If the type of project generated is war, a servlet (ExampleServlet) is generated, along with a JSP file and an empty web.xml file.
When running the Jetty plugin, e.g.:
mvn org.eclipse.jetty:jetty-maven-plugin:11.0.26:run-war
The example can then be accessed at http://localhost:8080/hello
Add Dependency
To add dependencies, you must be in the folder where the pom file you want to add the dependency to is.
To add a dependency, simply pass the coordinates of the dependency, and add scope if needed (if no scope is given, compile is assumed):
mvnizer add org.apache.commons:commons-lang3:3.1:jar mvnizer add org.mockito:mockito-core:1.9.5-rc1:jar:test
The search features makes it easy to find the coordinates of the dependencies for you.
Dependency Search
You can search for dependencies in the Maven central repository with the command:
$ mvnizer search <text>
License
MIT License.
© Copyright 2012–2026 — Sébastien Le Callonnec