Sunday, February 18, 2018

How to fix Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory in Java

This error means your code or any external library you are using in your application is using the SLF4J library, an open source logging library, but it is not able to find the required JAR file e.g. slf4j-api-1.7.2.jar hence it's throwing Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory. If you look at the error, you will see that it's saying it is not able to find the class org/slf4j/LoggerFactory or org.slf4j.LoggerFactory. The package name indicates that it's part of SLF4j, hence you need SLF4j JAR files e.g. slf4j-api-1.7.2.jar in your application's classpath. So, go ahead and download the JAR file from SLFj website or from Maven Central repository and restart your application.

Monday, February 12, 2018

Top 5 Java Design Pattern Courses for Experienced Java Developers

Hello guys, today, we'll talk about design patterns and some of the best online courses to learn design patterns in Java from scratch. If you are wondering what is a design pattern and why Java developers should learn them? then let me give you a brief overview. Design patterns are nothing but a tried and tested solutions of common programming problems, for example, the creational design patterns deal with the problems of object creation. They exist from a long time but made popular by famous Gang of four of Erich Gamma, John Vlissides, Ralph Johnson and Richard Helm in their classic 1994 book Design Patterns: Elements of Reusable Object-Oriented Software, also known as GOF design patterns. This book documented 24 design patterns which are reusable to solve common programming problems. 

Thursday, February 8, 2018

5 Good Books to Learn Unit testing, JUnit and TDD in Java

Unit testing is a very, very important thing to learn to adapt. I would say this is the single most practice in my book, which differentiates an excellent programmer with a professional programmer. It's one way you can see how disciplined a programmer is? It's also the best way to write clean code; a code which can stand the test of time, a code which is flexible enough to accommodate future changes and a code which you don't afraid while changing. Despite several efforts of promoting unit testing by programming community and emphasizing unit testing by many notable programmers, it's still one of the lacking practice.