Creating Maven Artifacts From a jar File
Here is a step-by-step guide for generating Maven artifacts from any third-party jar.
Join the DZone community and get the full member experience.Join For Free
Today, we're going to create an artifact from mailapi.jar with version 1.4.5 and use it in our Maven project. This article will guide you through the steps to make that happen.
While creating Maven projects, we often come across a scenario when we have to import a jar from local repositories instead of Maven.
The reasons could be:
- The jar was created locally, and it’s not present in the Maven repository.
- We want to use a specific version of the jar, maybe because of:
- An upgrade that can be inconsistent with other dependencies.
- An upgrade that could break functionality if it’s written with assumptions made for the current version.
We need to find an answer to the following questions:
How can we create a Maven artifact from a jar?
How can we configure this artifact in pom.xml?
Create a Maven artifact from a jar
Maven's Install Plugin can help us generate an artifact. Run:
mvn install:install-file -Dfile=<path to jar>\mailapi.jar -DgroupId=com.study -DartifactId=mailapi -Dversion=1.4.5 -Dpackaging=jar -DcreateChecksum=true
At the C:\Users\<userName>\.m2\repository\com\study\mailapi\ directory, you can see generated artifacts:
A parameter createChecksum=true creates integrity checksums (MD5, SHA-1) for the artifacts during installation.
2. Create a repo folder in <project base directory>.
3. First, copy the com folder from C:\Users\<userName>\.m2\repository\ to <project base directory>/repo.
4. Configure pom.xml to look up the local repository for specific jars.
Remember to use System Scope for jars referred from local repositories.
I hope this article will be helpful.
Opinions expressed by DZone contributors are their own.