What are the differences between Maven Jar Plugin and Maven Assembly Plugin?

user2504767 picture user2504767 · Aug 17, 2014 · Viewed 9.6k times · Source

Could somebody explain me the exactly differences between these two Maven plugins and when it is useful to work with one of these plugins?

Answer

Lokesh picture Lokesh · Aug 17, 2014

Maven jar plugin simply creates a jar files with all SOURCE files [.class files compiled from .java files] packed in it. However, a jar itself cannot be deployed as it generally has dependencies on 3rd party jar files or other library jar files which are needed to execute SOURCE jar file.

This is where Maven assembly plugin comes into picture. It creates a package of an extension of your choice like .zip, .tar, .gz which is a fully deployable package with all dependencies packed in it. You can also specify directory structure in assembly plugin which should be created when package is deployed on server.

So a assembly plugin is always used in combination with jar plugin.