Wednesday, May 1, 2019

Top 5 Course to learn Apache Maven for Java Developers

The Apache Maven or commonly known as just "Maven" is an important tool for Java Programmers. It allows you to build your project, manage dependencies, generate documentation and lot more. I can vouch for Maven's usefulness because I have come from the pre-Maven world of Software development, where you need to manage all the JAR files required by your project. It may seem easy to you that just download the JAR file but it's not so easy in practice.  For example, you added a new library in your project say Spring framework which also needs log4j but you thought log4j is already there so you didn't do anything, only to realize that your application is not starting anymore and throwing long and convoluted errors. This can happen because of version mismatch like Spring needed a higher version of log4j than available in your project.

This is just a tiny bit of example which shows how manually managing dependencies can create nightmares. Maven took away all those pain by not only automatically downloading those JAR files for you but also created a central place, known as Maven repository to store those JAR files for better management.

Btw, Maven is not just a dependency management tool, it's in fact much more than that. The biggest advantage of using Maven is the following convention which makes software development easy.

In a Maven project, you know where is your source code, where is your test code and where are your resources. You don't need to spend countless hours to go through a massive ANT build file to figure out how exactly is your artifact is created.

Because of these useful qualities, the Java ecosystem adopted Maven generously. Most of the open source project is a Maven project which makes it easy for developers to understand them and contribute better.





5 Best Maven Courses for Java Developers

Even though Gradle is making inroads, 70% market is still using Maven and that's big enough reason to learn Maven. If you also think so, here are some of the best course to learn Apache Maven online by yourself.


1. Apache Maven: Beginner to Guru
In this course, you will learn about the Maven Build Lifecycles, how to use Maven to build and package Java projects, understand how to use Maven with popular alternative JVM languages, including Groovy, Kotlin, and Scala etc.

I am a big fan of John Thompson, having attended his Spring 5 course, Spring 5: Beginner to Guru I have hooked to his teaching style and information delivery.

When I found that John has a Maven course I immediately bought it even though I know Maven and worked in several Maven project, including multi-module Maven project.

Though I wasn't disappointed and course helps me to fill some of the gaps I had in my learning. It's particularly useful if you are coming with no Maven experience as information density is perfect from a beginner's perspective.

You will also learn to configure Maven to run your unit and integration tests written in JUnit 3, JUnit 4, JUnit 5, TestNG, and Spock framework generate source code from XML and JSON Schemas, and leverage annotation processing at compile time for Project Lombok and Mapstruct.

Best Maven Courses for Java Developers


The course also covers Apache Maven plugin system and teaches you how plugins are used in the build lifecycle.

Finally, you will also learn to build a Spring Boot applications with Apache Maven,
learn about the Spring Boot Maven plugin, deploying project artifacts to Maven repositories and how to develop multi-module Maven projects.

In short, a perfect course to master Maven and ideal for both intermediate and senior Java developers.



2. Maven Crash Course
I personally like crash courses because I am always in a hurry and don't really have too much time to invest. A crash course will teach you just 20% of things but those are the ones you will need most and used 80% of the time.

This course is also not an exception, in which instructor Bharath Thippireddy has done a fabulous job to explain core concepts of Maven in just less than 3 hours.

In this course, you will not only learn all the core concepts of Maven but also work for hands-on to create a multi-module maven Java web application project.

Best Online Courses to Learn Apache Maven


The course is also good for beginners as it teaches Maven from scratch right from downloading and installing Maven, using in the command line and creating a Maven web application in Eclipse using m2eclipse plugin.

If you are in a hurry and want to learn Maven, this is the course you should join.




3. Maven 101
The 101 kinds of courses are exactly opposite of the crash courses, they cover the topic in depth and if you want to learn Maven in depth this is the perfect course to start with.

In this hands-on course, you will learn how to use Maven with other tools like with IDEs Eclipse or IntelliJ IDEA and Version Control tools like Git or Github

As I told you, I know Maven and have been using both Maven and Eclipse from years but having gone through this course I learned a couple of things about maven which I didn't know before.

I feel that now I have a much better understanding of maven's overall lifecycle/phase/goal architecture and using Maven with Eclipse WTP for creating Maven based web applications.






4. Learning Apache Maven
This is an excellent course to learn Maven with a good instructor, clear explanation and just right kind of information depth an intermediate Java developer needs to learn Maven.

The course starts by teaching you how to build a project, then jumps into dependency management. From there, Kevin teaches you about the Maven lifecycle, maven commands, and plugins, including plugin parameters and custom plugins.

The course also covers goals and plugins, including how to install and deploy a plugin. Finally, you will learn about archetypes, additional features, and the .M2E Eclipse plugin.

Once you have completed this online Maven course, you should be able to work on an existing Maven project and configure Maven to build your own Java projects

Top 5 Course to learn Apache Maven for Java Developers




5. Maven Fundamentals By Bryan Hansen
In this course, Bryan has covered all of the basic concepts of Maven you need to know like directory structure, dependencies, plugins, repositories, IDE integrations, and all the basic commands of Maven.

Bryan Hansen is another instructor which I personally admire and follow. Having attended his Spring courses like Spring Fundamentals and What's New in Spring 5 I know how he makes things simpler and this course is no exception.

Only thing is that you would need a Pluarlsight membership to access this course, which cost around $29 per month or around $299 per annum. This might look bit expensive at first but it's its complete worth of money because you would get access to more than 5000+ online courses on the latest technology.

A small bit of investment in learning can pay a rich dividend, hence I advise all programmer to join Pluralsight. But, even if you don't have a membership, you can still access this course for free by taking advantage of their 10-day FREE Pass which allows 200 minutes of watch time, enough to finish this course.





Important Points about Maven

If you still have doubts about learning Maven, here is some of the important information about Maven which will help you to realize it's valued as the most popular build tools for Java developers:

1. Maven has almost 70% of the market, 20% Gradle, and 10% ANT.

2. Maven is a build tool like make or ANT, take your source code and generate a JAR file, distributable library. It can also run tests and generate Javadoc when you build your software. It also helps in build-automation. It allows each developer to kick-off the same build to generate the same deployable.

3. Maven is also a Dependency management tool - we build an application which requires a third-party library. Maven helps to bring those JAR and keep them up-to-date

4. Maven command line tool - you can use maven from the command prompt but you can also use Maven from IDE also like Eclipse or IntelliJ IDEA.

5. Maven as a project management tool - It helps to tell you about what is being used in your project. It can also hold an artifact in a repository like Nexus.

6. Maven provides a standardized approach to building software, a consistent approach like source and test directory, build artifacts as it promotes "Convention over Configuration".


That's all about some of the best courses to learn Apache Maven. As I have said, Maven is the most popular build tool and you will find it on most of the places. It offers a really cool advantage like dependency management, build-automation and it's also well integrated with other common tools like IDEs (Eclipse, NetBeans or IntelliJIDEA) and version control tools like Git and Github.


Other Programming Resource articles you may like to explore
Thanks a lot for reading this article so far. If you like these Maven courses then please share with your friends and colleagues. If you have any questions or feedback then please drop a note.

P. S. - If you are looking for some free stuff to start with your Maven journey then you can also check out this list of free Maven courses for Java Programmers.

No comments :

Post a Comment