I started to write this with Ant/Maven, and then switched to Gradle. I'll present few code snippets here, that should give you a decent understanding of difference that Gradle makes. Please judge for yourself if the switch from Ant/Maven to Gradle was worth the effort.
Java Build Tools
Submitted by david on Tue, 07/20/2010 - 21:57
We all know that Ant is the defacto standard of the Java build world...the make of the JVM if you will. But wait a minute, we also know that Apache, if not the King of the Free and Open Source Software (FOSS) world, is at least a member of the knight's court.
And if that is the case, we have to note that maven is the stardard build tool for Apache projects. Doesn't that make it worth it for us to take a look at it?
But we also know that the Java Virtual Machine (JVM) is turning into a platform as dynamic languages such as Groovy, Ruby, JRuby, Scala, and Clojure come on the scene. Doesn't this mean that we should be looking at something like Gradle that allows us a little more flexibility and an opportunity to take advantage of some of these dynamic languages.
But does Ivy solve our real problems without forcing us into the conventions that others think are best for our project? And it's an Apache project...
Wait, are we trying to build software here, handle dependencies, document projects, or run our suite of tests?!? What about Rake? And Gant?
Maybe the build wars have begun....
Most of my experience has been with Ant or Maven2, but for greenfield work, I will be considering Gradle or Maven3 moving forward. What do you use, and why?
We are still working on getting the development links section of translucent development organized. Please bear with us as we bring these new resources online.
We all know that Ant is the defacto standard of the Java build world...the make of the JVM if you will. But wait a minute, we also know that Apache, if not the King of the Free and Open Source Software (FOSS) world, is at least a member of the knight's court.
And if that is the case, we have to note that maven is the stardard build tool for Apache projects. Doesn't that make it worth it for us to take a look at it?
But we also know that the Java Virtual Machine (JVM) is turning into a platform as dynamic languages such as Groovy, Ruby, JRuby, Scala, and Clojure come on the scene. Doesn't this mean that we should be looking at something like Gradle that allows us a little more flexibility and an opportunity to take advantage of some of these dynamic languages.
But does Ivy solve our real problems without forcing us into the conventions that others think are best for our project? And it's an Apache project...
Wait, are we trying to build software here, handle dependencies, document projects, or run our suite of tests?!? What about Rake? And Gant?
Maybe the build wars have begun....
Most of my experience has been with Ant or Maven2, but for greenfield work, I will be considering Gradle or Maven3 moving forward. What do you use, and why?
We are still working on getting the development links section of translucent development organized. Please bear with us as we bring these new resources online.
-
build toolsjavamaven
-
I agree that Maven has its warts, but I don't think it's that bad. I've also heard that Maven has been successfully implemented at large companyies like eBay, Intuit and E*Trade[1]. Is the "Maven sucks" meme largely something that exists in the blogosphere, but not in the real world?build toolsjavamaven
-
I'm uncomfortable with the increasing number of build tools available for Java. At the beginning, everything was simple : Ant was here, and did its job. However, while Ant is very good at build customization, it had the cons of its pros: for each project, you had to copy parts of your ant scripts from another project, or create an Ant plugin. However, in every organization, or worse, every developer had its own way of building projects, organizing source code and so you could rapidly come with projects which used the same build tool, but in a totally different manner.build toolsgroovyjavamaven
-
Like advertised, maven 3 is backwards compatible with maven 2. In fact, most everything worked out of the box when switching to maven 3. In this post, I'm going to highlight the required and currently optional items I changed so you can start preparing to migrate your project to maven 3. But first, what's so special about maven 3 and why would you upgrade? Polyglot maven, mvnsh, and improved performance (50%-400% faster) are just a few. And since it's so easy to migrate to maven 3, you really don't have any excuses.build toolsmaven
-
This post is not about lame excuses. “nah the build shouldn’t fail, that was a trivial change…” does not count. But there are situations where a build fails because … well nobody really knows. Some people say: cosmic rays! But we know that is not true. To efficiently utilize a CI system without the need to troubleshoot a long time here some common issues we encountered and ideas how to mitigate them.agilebuild tools
-
Let's face it...we all have to learn to write Ant scripts at some point in time. And often we have to re-learn a bit of it, because we use different build tools from time to time, or someone else on the team spends more time with the build scripts then you. I'm glad that this is put together as a reference. If you are knee deep in Ant, consider getting "Ant In Action", but I hope that you aren't knee deep in it! "For this tutorial however I will go cover what ant is primarily used for, building a project and creating a deliverable, in this case a jar file. This will provide a good intro into the usage of ant and how it works."antbuild tools
-
In any event, the overall team productivity related to builds and continuous integration often slows to a trickle. This trickle causes frustration, alienates people and discourages their interest and help, and costs the company money. It is clearly a bad, bad thing. Maven remedies this all too common situation and many others. Once a few developers use the Maven XML structure and understand what those tags do, they can jump from project to project, as business requirements deem necessary and immediately understand another project's build environment. That means they can build the software and start testing it right away. This efficiency translates into enhanced developer and team productivity and that means real money saved for the company.antbuild toolsmaven
-
The Hibernate team made it official when they recently switched the Hibernate 4 master branch on GitHub over to Gradle for its builds. Now is as good a time as any to learn how the Gradle build system works in comparison to Hibernate's earlier build system, Maven 2. If you're still wondering why the Hibernate developers decided to switch from Maven to Gradle, all you can do is read these explanations and see what other developers had to say in this StackOverflow thread.build toolshibernate
-
Going to go over the steps to get a simple HelloWorld web-app up and running on JBoss 6 using JSF 2 and CDI. Background information and full documentation for the technologies used can be found at the Java EE 6 home page and Weld documentation site.cdijavamaven
-
An article showing you how to create a: * Spring 3.0.3.RELEASE application * that is a desktop application (no application server/servlet container required) but might be deployed to a server too * and that connects to a database (HSQLDB) * using JPA 2.0 * without using provider specific code (such as Hibernate) in Java files * and that allows for declarative transaction management (next article).JPAmavenspring
-
"Like advertised, maven 3 is backwards compatible with maven 2. In fact, most everything worked out of the box when switching to maven 3. In this post, I'm going to highlight the required and currently optional items I changed so you can start preparing to migrate your project to maven 3. But first, what's so special about maven 3 and why would you upgrade? Polyglot maven, mvnsh, and improved performance (50%-400% faster) are just a few. And since it's so easy to migrate to maven 3, you really don't have any excuses."maven

First Ant, then Maven and Gradle?