diff --git a/libraries-bytecode/pom.xml b/libraries-bytecode/pom.xml index e6c4c3a91100..01d7f921a0e6 100644 --- a/libraries-bytecode/pom.xml +++ b/libraries-bytecode/pom.xml @@ -1,7 +1,7 @@ - + 4.0.0 libraries-bytecode 0.0.1-SNAPSHOT @@ -40,6 +40,28 @@ asm-util ${asm.version} + + diff --git a/libraries-bytecode/src/main/java/com/baeldung/incompatibleclasschange/libraries/modified/Dinosaur.java b/libraries-bytecode/src/main/java/com/baeldung/incompatibleclasschange/libraries/modified/Dinosaur.java new file mode 100644 index 000000000000..b5b2077c19c5 --- /dev/null +++ b/libraries-bytecode/src/main/java/com/baeldung/incompatibleclasschange/libraries/modified/Dinosaur.java @@ -0,0 +1,17 @@ +package com.baeldung.incompatibleclasschange.libraries.modified; + +public class Dinosaur { + + /** + * This is the modified version of the library where the species() method is made static. + * The original version of the same hierarchy is not static. + * + */ + public static void species(String sp) { + if (sp == null) { + System.out.println("I am a generic Dinosaur"); + } else { + System.out.println(sp); + } + } +} \ No newline at end of file diff --git a/libraries-bytecode/src/main/java/com/baeldung/incompatibleclasschange/libraries/original/Coelophysis.java b/libraries-bytecode/src/main/java/com/baeldung/incompatibleclasschange/libraries/original/Coelophysis.java new file mode 100644 index 000000000000..171b1d18d8e7 --- /dev/null +++ b/libraries-bytecode/src/main/java/com/baeldung/incompatibleclasschange/libraries/original/Coelophysis.java @@ -0,0 +1,12 @@ +package com.baeldung.incompatibleclasschange.libraries.original; + +public class Coelophysis extends Dinosaur { + public void mySpecies() { + species("My species is Coelophysis of the Triassic Period"); + } + + public static void main(String[] args) { + Coelophysis coelophysis = new Coelophysis(); + coelophysis.mySpecies(); + } +} diff --git a/libraries-bytecode/src/main/java/com/baeldung/incompatibleclasschange/libraries/original/Dinosaur.java b/libraries-bytecode/src/main/java/com/baeldung/incompatibleclasschange/libraries/original/Dinosaur.java new file mode 100644 index 000000000000..3d66999c5fa9 --- /dev/null +++ b/libraries-bytecode/src/main/java/com/baeldung/incompatibleclasschange/libraries/original/Dinosaur.java @@ -0,0 +1,11 @@ +package com.baeldung.incompatibleclasschange.libraries.original; + +public class Dinosaur { + public void species(String sp) { + if (sp == null) { + System.out.println("I am a generic Dinosaur"); + } else { + System.out.println(sp); + } + } +} diff --git a/libraries-bytecode/src/main/resources/dinosaur-1.jar b/libraries-bytecode/src/main/resources/dinosaur-1.jar new file mode 100644 index 000000000000..bd7c17fe2acb Binary files /dev/null and b/libraries-bytecode/src/main/resources/dinosaur-1.jar differ diff --git a/libraries-bytecode/src/main/resources/dinosaur-2.jar b/libraries-bytecode/src/main/resources/dinosaur-2.jar new file mode 100644 index 000000000000..769998a9729f Binary files /dev/null and b/libraries-bytecode/src/main/resources/dinosaur-2.jar differ