This is a basic Maven project illustrating the usage of Maven Command Line Wrapper.
The wrapper is generated through a custom Maven plugin and available as a Maven goal through the wrapper namespace.
The Maven Command Line Wrapper will auto-download and install Apache Maven from the Internet and then run your Maven goals.
Check out the pom.xml for the build/plugins entry for the wrapper-maven-plugin.
To use snapshots instead of releases, you’ll need to add as well as a pluginRepositories section.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
:
<!-- other maven project elements -->
<build>
<!-- other build elements -->
:
<plugins>
<!-- other plugins -->
:
<!-- ADD A REFERENCE TO THE MAVEN WRAPPER PLUGIN -->
<plugin>
<groupId>com.rimerosolutions.maven.plugins</groupId>
<artifactId>wrapper-maven-plugin</artifactId>
<version>0.0.5-SNAPSHOT</version>
<configuration>
<!-- optional base distribution url -->
<baseDistributionUrl>https://repository.apache.org/content/repositories/releases/org/apache/maven/apache-maven</baseDistributionUrl>
<!-- optional wrapper jar output folder -->
<wrapperDirectory>${basedir}/maven</wrapperDirectory>
</configuration>
</plugin>
</plugins>
</build>
<!--
ADD A REFERENCE TO THE SONATYPE SNAPSHOTS REPOSITORY if you want to use snapshots
-->
<pluginRepositories>
<pluginRepository>
<id>sonatype.snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</pluginRepository>
</pluginRepositories>
</project>
You can run the build with the mvnw scripts instead of the Maven mvn command.
mvnw install
There’s already a Maven Wrapper(mvnw) at the root of this project, however you can re-generate it using the following command:
mvn wrapper:wrapper
- You have a new or existing Maven project.
- You understand the concept of Gradle Command Line Wrapper and you want to take the advantage of the Maven Wrapper.
- You add the plugin to the build section of your Maven POM and a reference to the Sonatype OSS repository in my pluginRepositories section.
- You notice that the Maven Wrapper plugin detects your current Maven version and uses it to generate the wrapper properties file for the download URL.
- You can also customize the wrapper output folder with a path relative to my project folder. The Maven download URL is also customizable.
- You realize that the Maven Wrapper really IS the same as the Gradle Wrapper except that it’s not a built-in plugin, but an externally provided plugin.
If you’re behind a proxy, please set MAVEN_OPTS accordingly:
set MAVEN_OPTS=-Dhttp.proxyHost=proxyhost -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxyhost -Dhttps.proxyPort=8080
For a full documentation(goals and usage) of the Maven Wrapper Plugin, please visit the homepage fo the Maven Command Line Wrapper.