Tuesday, 16 February 2016

Maven Build JAR once and share it offline

In Maven, you can build your project only once and get a JAR file fully packed with all dependencies. So that, you can share this JAR to other machines off-line.
Below are the steps to make it.
  1. First update your pom.xml with the setting
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.thanga.MyTest[REPLACE WITH YOUR MAIN CLASS]
                            </mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>
  2. Package your project with the goal package assembly:single as shown below
This is equivalent to "mvn package assembly:single"


  1. Run this and you can get the two JAR files. One of them MyFullPack-0.0.1-SNAPSHOT-jar-with-dependencies.jar has the full dependencies loaded.

  1. You can open the JAR to see the dependencies are packed as shown below.

  1. You can share this JAR to other machines off-line without any more build

No comments:

Post a Comment