Which tool to use to generate releases in Java?


I am developing my first project in Java, the application is an API using several libraries, among them: Jetty, Hibernate, HttpClient, JasperReport ...

In this project I use the Maven framework, I would like to know which tools to use to generate releases in Java?

asked by anonymous 13.12.2013 / 12:36

2 answers


Generating a release is quite broad and involves many things. But the most basic can be achieved with maven himself, via "release: prepare" and "release: perform". More details on the "release" plugin can be found at official documentation .

Based on the comments of this answer: With Maven, you specify the type of project you have (jar, war, ear), and maven automatically generates the artifact via "mvn package". The package is in the "target" directory. Libraries that are defined as "normal" dependencies (scope = compile, or no defined scope) are placed in the final package, if it is a war or ear. If it's a jar, you'll need to use a plugin like "assembly" , which will end up generating a large jar with all dependencies included.

13.12.2013 / 12:41

As an alternative to Maven , you can use Gradle . It is a tool that automates the Builds and Tests, and is very simple to work with, and uses the huge repository of Maven itself. I started messing with her for 2 days, and I'm really enjoying it. The project definition file, "gradle.build", is much easier to work with and read than "pom.xml"

According to the Gradle homepage definition: " ... combines the power and flexibility of Ant with Maven's dependency management and conventions ...

More info: link

13.12.2013 / 13:36