In short, maven is a build automation tool describing the structure of the Java project and its dependencies. Maven addresses dependency management, artifact versioning and project comprehension.
We already went through a brief steps to convert a ANT based project to maven in this article Convert an ANT project to Maven
Dependency management and transitive dependency
Dependency management allows combining and centralizing the management of dependencies and their versions via single configuration file (pom.xml).
Transitive Dependency can be simply explained as a functional dependency between dependencies for e.g. if Aà B and Bà C then AàC therefore A is transitive dependent on C. If project A has a dependency project B and project B has a dependency on project C, then while building the project A maven with automatically download all the dependencies of project A i.e. project B and will also download all the dependencies of project B and this will go on till nth level.
Make sure you don’t end up with cyclic dependency like AàB BàC CàA
Dependency Scope defines when these dependencies are needed for e.g compile means this dependency is needed at the Read full story »