• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

What is Maven or Gradle or Ant?

 
Bartender
Posts: 1868
81
Android IntelliJ IDE MySQL Database Chrome Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Chances are that you will work on projects with more with one Java files.
Plus you may be using resources from third party developers in the form of JAR files.
There may also be a need to execute a command before of after a build occurs.
Sample commands to execute could include emailing status, setting up environment variables, deleting files or creating setup packages.

To handle this build and dependency systems were created. The more popular build and dependency systems are Maven, Gradle and Ant.
I think that first came Ant, then came Maven and finally Gradle. Each build system has their own idiosyncrasies, faults and strengths.

For more information regarding build systems and tools you may want to check out the build system's home page.
Some people who know these tools hang our around on the CodeRanch build areas found here https://coderanch.com/c/build-tools.

You should really become more then just aware of one or more of these systems. I believe that this BlackJack may be using Maven and/or Gradle.
 
Saloon Keeper
Posts: 15510
363
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The Blackjack project in our Corral repo uses Maven. Currently it consists of a parent project (with a pom.xml in the root folder) and a core module project (with a pom.xml in the core folder).

The parent POM contains common settings for all modules. For instance, it sets the project version that will be used for every module, it sets the source version and encoding, and it configures commonly used dependencies (such as JUnit and Hamcrest). It also says what license we use and contains information about our team.

The core module POM declares what dependencies the core module relies on and what plugins it needs to build the project. It inherits configuration from the parent POM.

Maven reads these settings and uses them to compile, test and package the code. To do this locally, download Maven and run mvn package.

Check out these useful links:

http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
http://maven.apache.org/pom.html
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic