• 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
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

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.
 
Bartender
Posts: 15737
368
  • 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
 
On my planet I'm considered quite beautiful. Thanks to the poetry in this tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic