![]() Among many other things (running tests, managing conflicts, documentation, modularization), its most useful purpose is that of automatically fetching dependencies that your project needs and dependencies of those dependencies (transitive dependencies) if any. Maven is just a tool that manages and simplifies how you build your project. Gradle does us a favor and puts more features for comparison in a very organized chart. ![]() If you got an old project and the structure is src/java, sorry, You have no guarantee that all Maven plugins will run as expected. If you are on Maven and you don't follow the 'convention', you'll lose some hours changing your pom ( Maven's build file) to be able to understand and handle your folder structure.Į.g.: Java source code must be on src/main/java folder. If you don't follow Apache Maven life cycle, your build will fail, that's it.įor example, your code can be spread across many directories in any kind of layout if you are using Gradle. It gives you flexibility and tries not to get in your way, a "feature" that you cannot find in Apache Maven. In my opinion, Gradle is better than Apache Maven in every way that you could imagine. So devs that aren't aware of Gradle/did not get in touch with Android apps don't have motivation to change to another tool. Until now, Apache Maven can be used on simple Java EE projects without being a pain in the ass if you already know the forced conventions. Trying to use Maven on Android's project just feels unnatural, the tool was not prepared to provide flexibility. Android's project has a different project structure from Java EE/Web projects. ![]() Gradle became popular when the Android development raised. Some devs don’t like having to learn anything new and most companies don't want to risk the exchange of an already running and mastered tool ( Maven) for the new kid on the block. Gradle first version got out on 2007 but it did not become as popular as Maven in the early days. To understand properly why some devs are attached to Apache Maven, we have to look at some years in the past.Īpache Maven is a build automation tool just like Gradle. Some devs don't want a new tool or don't have time to learn how to use it properly. Apache Maven goes for "follow our convention" way and Gradle gives you flexibility. The difference is how you can use them to build your project. The short answer is: The tools do the same thing but in different ways.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |