From 28adbeb53daa5942944a49ece4b0630370733e9b Mon Sep 17 00:00:00 2001 From: parthkaria Date: Mon, 22 May 2017 23:02:48 +0530 Subject: [PATCH] BAEL-831 ClassNotFoundExceptions vs NoClassDefFoundError (#1899) * Dependency Injection examples Dependency Injection examples for evaluation article * Junit test cases added for dependency injection Junit test cases added for dependency injection * ClassNotFoundException vs NoClassDefFoundError Example to reproduce ClassNotFoundException & NoClassDefFoundError * JUnit test cases for ClassNotFoundException & NoClassDefFoundError test cases to reproduce ClassNotFoundException & NoClassDefFoundError * Deleting exampls for evaluation article * BAEL-831 Examples for ClassNotFoundException & NoClassDefFoundError * deleting config file for evaluation article deleting config file for evaluation article --- .../ClassNotFoundExceptionExample.java | 7 +++++++ .../noclassdeffounderror/ClassWithInitErrors.java | 5 +++++ .../NoClassDefFoundErrorExample.java | 14 ++++++++++++++ .../ClassNotFoundExceptionTest.java | 12 ++++++++++++ .../NoClassDefFoundErrorTest.java | 12 ++++++++++++ 5 files changed, 50 insertions(+) create mode 100644 core-java/src/main/java/com/baeldung/classnotfoundexception/ClassNotFoundExceptionExample.java create mode 100644 core-java/src/main/java/com/baeldung/noclassdeffounderror/ClassWithInitErrors.java create mode 100644 core-java/src/main/java/com/baeldung/noclassdeffounderror/NoClassDefFoundErrorExample.java create mode 100644 core-java/src/test/java/com/baeldung/classnotfoundexception/ClassNotFoundExceptionTest.java create mode 100644 core-java/src/test/java/com/baeldung/noclassdeffounderror/NoClassDefFoundErrorTest.java diff --git a/core-java/src/main/java/com/baeldung/classnotfoundexception/ClassNotFoundExceptionExample.java b/core-java/src/main/java/com/baeldung/classnotfoundexception/ClassNotFoundExceptionExample.java new file mode 100644 index 0000000000..26d306d03f --- /dev/null +++ b/core-java/src/main/java/com/baeldung/classnotfoundexception/ClassNotFoundExceptionExample.java @@ -0,0 +1,7 @@ +package com.baeldung.classnotfoundexception; + +public class ClassNotFoundExceptionExample { + public void loadDrivers() throws ClassNotFoundException { + Class.forName("oracle.jdbc.driver.OracleDriver"); + } +} diff --git a/core-java/src/main/java/com/baeldung/noclassdeffounderror/ClassWithInitErrors.java b/core-java/src/main/java/com/baeldung/noclassdeffounderror/ClassWithInitErrors.java new file mode 100644 index 0000000000..2b19f3496d --- /dev/null +++ b/core-java/src/main/java/com/baeldung/noclassdeffounderror/ClassWithInitErrors.java @@ -0,0 +1,5 @@ +package com.baeldung.noclassdeffounderror; + +public class ClassWithInitErrors { + static int data = 1 / 0; +} diff --git a/core-java/src/main/java/com/baeldung/noclassdeffounderror/NoClassDefFoundErrorExample.java b/core-java/src/main/java/com/baeldung/noclassdeffounderror/NoClassDefFoundErrorExample.java new file mode 100644 index 0000000000..2c852b5e82 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/noclassdeffounderror/NoClassDefFoundErrorExample.java @@ -0,0 +1,14 @@ +package com.baeldung.noclassdeffounderror; + +public class NoClassDefFoundErrorExample { + public ClassWithInitErrors getClassWithInitErrors() { + ClassWithInitErrors test; + try { + test = new ClassWithInitErrors(); + } catch (Throwable t) { + System.out.println(t); + } + test = new ClassWithInitErrors(); + return test; + } +} diff --git a/core-java/src/test/java/com/baeldung/classnotfoundexception/ClassNotFoundExceptionTest.java b/core-java/src/test/java/com/baeldung/classnotfoundexception/ClassNotFoundExceptionTest.java new file mode 100644 index 0000000000..2a16b7effd --- /dev/null +++ b/core-java/src/test/java/com/baeldung/classnotfoundexception/ClassNotFoundExceptionTest.java @@ -0,0 +1,12 @@ +package com.baeldung.classnotfoundexception; + +import org.junit.Test; + +public class ClassNotFoundExceptionTest { + + @Test(expected = ClassNotFoundException.class) + public void givenNoDriversInClassPath_whenLoadDrivers_thenClassNotFoundException() throws ClassNotFoundException { + ClassNotFoundExceptionExample test = new ClassNotFoundExceptionExample(); + test.loadDrivers(); + } +} diff --git a/core-java/src/test/java/com/baeldung/noclassdeffounderror/NoClassDefFoundErrorTest.java b/core-java/src/test/java/com/baeldung/noclassdeffounderror/NoClassDefFoundErrorTest.java new file mode 100644 index 0000000000..bb446dc385 --- /dev/null +++ b/core-java/src/test/java/com/baeldung/noclassdeffounderror/NoClassDefFoundErrorTest.java @@ -0,0 +1,12 @@ +package com.baeldung.noclassdeffounderror; + +import org.junit.Test; + +public class NoClassDefFoundErrorTest { + + @Test(expected = NoClassDefFoundError.class) + public void givenInitErrorInClass_whenloadClass_thenNoClassDefFoundError() { + NoClassDefFoundErrorExample sample = new NoClassDefFoundErrorExample(); + sample.getClassWithInitErrors(); + } +}