diff --git a/core-java-modules/core-java-jar/README.md b/core-java-modules/core-java-jar/README.md
new file mode 100644
index 0000000000..f6bb7677d4
--- /dev/null
+++ b/core-java-modules/core-java-jar/README.md
@@ -0,0 +1,9 @@
+## Core Java JAR
+
+This module contains articles about JAR files
+
+### Relevant Articles:
+
+- [How to Create an Executable JAR with Maven](http://www.baeldung.com/executable-jar-with-maven)
+- [Importance of Main Manifest Attribute in a Self-Executing JAR](http://www.baeldung.com/java-jar-executable-manifest-main-class)
+- [Guide to Creating and Running a Jar File in Java](https://www.baeldung.com/java-create-jar)
diff --git a/core-java-modules/core-java-jar/pom.xml b/core-java-modules/core-java-jar/pom.xml
new file mode 100644
index 0000000000..cd86479d72
--- /dev/null
+++ b/core-java-modules/core-java-jar/pom.xml
@@ -0,0 +1,400 @@
+
+ 4.0.0
+ core-java-jar
+ 0.1.0-SNAPSHOT
+ core-java-jar
+ jar
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../../parent-java
+
+
+
+
+ org.unix4j
+ unix4j-command
+ ${unix4j.version}
+
+
+ com.googlecode.grep4j
+ grep4j
+ ${grep4j.version}
+
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+
+ log4j
+ log4j
+ ${log4j.version}
+
+
+ org.slf4j
+ log4j-over-slf4j
+ ${org.slf4j.version}
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+ provided
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj-core.version}
+ test
+
+
+ org.javamoney
+ moneta
+ ${javamoney.moneta.version}
+
+
+
+
+ core-java
+
+
+ src/main/resources
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-dependencies
+ prepare-package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/libs
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven-jar-plugin.version}
+
+
+
+ true
+ libs/
+ org.baeldung.executable.ExecutableMavenJar
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ package
+
+ single
+
+
+ ${project.basedir}
+
+
+ org.baeldung.executable.ExecutableMavenJar
+
+
+
+ jar-with-dependencies
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ ${maven-shade-plugin.version}
+
+
+
+ shade
+
+
+ true
+
+
+ org.baeldung.executable.ExecutableMavenJar
+
+
+
+
+
+
+
+
+ com.jolira
+ onejar-maven-plugin
+ ${onejar-maven-plugin.version}
+
+
+
+ org.baeldung.executable.ExecutableMavenJar
+ true
+ ${project.build.finalName}-onejar.${project.packaging}
+
+
+ one-jar
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ ${spring-boot-maven-plugin.version}
+
+
+
+ repackage
+
+
+ spring-boot
+ org.baeldung.executable.ExecutableMavenJar
+
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ ${exec-maven-plugin.version}
+
+ java
+ com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed
+
+ -Xmx300m
+ -XX:+UseParallelGC
+ -classpath
+
+ com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ ${maven-javadoc-plugin.version}
+
+ 1.8
+ 1.8
+
+
+
+
+
+
+
+ integration
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ integration-test
+
+ test
+
+
+
+ **/*ManualTest.java
+
+
+ **/*IntegrationTest.java
+ **/*IntTest.java
+
+
+
+
+
+
+ json
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ ${exec-maven-plugin.version}
+
+
+ run-benchmarks
+
+ none
+
+ exec
+
+
+ test
+ java
+
+ -classpath
+
+ org.openjdk.jmh.Main
+ .*
+
+
+
+
+
+
+
+
+
+
+
+ buildAgentLoader
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ package
+
+ jar
+
+
+ agentLoader
+ target/classes
+
+
+ true
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+
+
+ com/baeldung/instrumentation/application/AgentLoader.class
+ com/baeldung/instrumentation/application/Launcher.class
+
+
+
+
+
+
+
+
+
+ buildApplication
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ package
+
+ jar
+
+
+ application
+ target/classes
+
+
+ true
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+
+
+ com/baeldung/instrumentation/application/MyAtm.class
+ com/baeldung/instrumentation/application/MyAtmApplication.class
+ com/baeldung/instrumentation/application/Launcher.class
+
+
+
+
+
+
+
+
+
+ buildAgent
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ package
+
+ jar
+
+
+ agent
+ target/classes
+
+
+ true
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+
+
+ com/baeldung/instrumentation/agent/AtmTransformer.class
+ com/baeldung/instrumentation/agent/MyInstrumentationAgent.class
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.4
+ 1.8.7
+
+
+ 3.10.0
+
+
+ 1.1
+
+ 3.0.0-M1
+ 3.0.2
+ 1.4.4
+ 3.1.1
+ 2.0.3.RELEASE
+ 1.6.0
+
+
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/jar/JarExample.java b/core-java-modules/core-java-jar/src/main/java/com/baeldung/jar/JarExample.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/jar/JarExample.java
rename to core-java-modules/core-java-jar/src/main/java/com/baeldung/jar/JarExample.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/jar/example_manifest.txt b/core-java-modules/core-java-jar/src/main/java/com/baeldung/jar/example_manifest.txt
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/jar/example_manifest.txt
rename to core-java-modules/core-java-jar/src/main/java/com/baeldung/jar/example_manifest.txt
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/manifest/AppExample.java b/core-java-modules/core-java-jar/src/main/java/com/baeldung/manifest/AppExample.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/manifest/AppExample.java
rename to core-java-modules/core-java-jar/src/main/java/com/baeldung/manifest/AppExample.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/manifest/ExecuteJarFile.java b/core-java-modules/core-java-jar/src/main/java/com/baeldung/manifest/ExecuteJarFile.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/manifest/ExecuteJarFile.java
rename to core-java-modules/core-java-jar/src/main/java/com/baeldung/manifest/ExecuteJarFile.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/manifest/MANIFEST.MF b/core-java-modules/core-java-jar/src/main/java/com/baeldung/manifest/MANIFEST.MF
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/manifest/MANIFEST.MF
rename to core-java-modules/core-java-jar/src/main/java/com/baeldung/manifest/MANIFEST.MF
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/manifest/ExecuteJarFileUnitTest.java b/core-java-modules/core-java-jar/src/test/java/com/baeldung/manifest/ExecuteJarFileUnitTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/manifest/ExecuteJarFileUnitTest.java
rename to core-java-modules/core-java-jar/src/test/java/com/baeldung/manifest/ExecuteJarFileUnitTest.java
diff --git a/core-java-modules/core-java-lang-oop-2/README.md b/core-java-modules/core-java-lang-oop-2/README.md
index f387e8d4a2..035d464c50 100644
--- a/core-java-modules/core-java-lang-oop-2/README.md
+++ b/core-java-modules/core-java-lang-oop-2/README.md
@@ -15,4 +15,5 @@ This module contains articles about Object-oriented programming (OOP) in Java
- [Composition, Aggregation, and Association in Java](https://www.baeldung.com/java-composition-aggregation-association)
- [Static and Default Methods in Interfaces in Java](https://www.baeldung.com/java-static-default-methods)
- [Java Copy Constructor](https://www.baeldung.com/java-copy-constructor)
+- [Abstract Classes in Java](https://www.baeldung.com/java-abstract-class)
- [[<-- Prev]](/core-java-modules/core-java-lang-oop)[[More -->]](/core-java-modules/core-java-lang-oop-3)
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/abstractclasses/application/Application.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/abstractclasses/application/Application.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/abstractclasses/application/Application.java
rename to core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/abstractclasses/application/Application.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/abstractclasses/filereaders/BaseFileReader.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/abstractclasses/filereaders/BaseFileReader.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/abstractclasses/filereaders/BaseFileReader.java
rename to core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/abstractclasses/filereaders/BaseFileReader.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/abstractclasses/filereaders/LowercaseFileReader.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/abstractclasses/filereaders/LowercaseFileReader.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/abstractclasses/filereaders/LowercaseFileReader.java
rename to core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/abstractclasses/filereaders/LowercaseFileReader.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/abstractclasses/filereaders/UppercaseFileReader.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/abstractclasses/filereaders/UppercaseFileReader.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/abstractclasses/filereaders/UppercaseFileReader.java
rename to core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/abstractclasses/filereaders/UppercaseFileReader.java
diff --git a/core-java-modules/core-java/src/main/resources/files/test.txt b/core-java-modules/core-java-lang-oop-2/src/main/resources/files/test.txt
similarity index 100%
rename from core-java-modules/core-java/src/main/resources/files/test.txt
rename to core-java-modules/core-java-lang-oop-2/src/main/resources/files/test.txt
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/abstractclasses/test/LowercaseFileReaderUnitTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/abstractclasses/test/LowercaseFileReaderUnitTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/abstractclasses/test/LowercaseFileReaderUnitTest.java
rename to core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/abstractclasses/test/LowercaseFileReaderUnitTest.java
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/abstractclasses/test/UppercaseFileReaderUnitTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/abstractclasses/test/UppercaseFileReaderUnitTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/abstractclasses/test/UppercaseFileReaderUnitTest.java
rename to core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/abstractclasses/test/UppercaseFileReaderUnitTest.java
diff --git a/core-java-modules/core-java-lang-operators/README.md b/core-java-modules/core-java-lang-operators/README.md
index c4f5049d61..1fe524948c 100644
--- a/core-java-modules/core-java-lang-operators/README.md
+++ b/core-java-modules/core-java-lang-operators/README.md
@@ -1,3 +1,7 @@
+## Core Java Operators
+
+This module contains articles about Java operators
+
## Relevant Articles:
- [Guide to the Diamond Operator in Java](https://www.baeldung.com/java-diamond-operator)
- [Ternary Operator In Java](https://www.baeldung.com/java-ternary-operator)
@@ -6,4 +10,5 @@
- [A Guide to Increment and Decrement Unary Operators in Java](https://www.baeldung.com/java-unary-operators)
- [Java Compound Operators](https://www.baeldung.com/java-compound-operators)
- [The XOR Operator in Java](https://www.baeldung.com/java-xor-operator)
+- [Java Bitwise Operators](https://www.baeldung.com/java-bitwise-operators)
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/bitwiseoperator/test/BitwiseOperatorUnitTest.java b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/bitwiseoperator/test/BitwiseOperatorUnitTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/bitwiseoperator/test/BitwiseOperatorUnitTest.java
rename to core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/bitwiseoperator/test/BitwiseOperatorUnitTest.java
diff --git a/core-java-modules/core-java-lang-syntax-2/README.md b/core-java-modules/core-java-lang-syntax-2/README.md
index db81109836..1518d1ab35 100644
--- a/core-java-modules/core-java-lang-syntax-2/README.md
+++ b/core-java-modules/core-java-lang-syntax-2/README.md
@@ -10,5 +10,6 @@ This module contains articles about Java syntax
- [Java Double Brace Initialization](https://www.baeldung.com/java-double-brace-initialization)
- [The Java Native Keyword and Methods](https://www.baeldung.com/java-native)
- [Variable Scope in Java](https://www.baeldung.com/java-variable-scope)
+- [Introduction to Basic Syntax in Java](https://www.baeldung.com/java-syntax)
- [Java ‘protected’ Access Modifier](https://www.baeldung.com/java-protected-access-modifier)
- [[<-- Prev]](/core-java-modules/core-java-lang-syntax)
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/basicsyntax/SimpleAddition.java b/core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/basicsyntax/SimpleAddition.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/basicsyntax/SimpleAddition.java
rename to core-java-modules/core-java-lang-syntax-2/src/main/java/com/baeldung/basicsyntax/SimpleAddition.java
diff --git a/core-java-modules/core-java/README.md b/core-java-modules/core-java/README.md
index c65428c6af..dd5e7dc14e 100644
--- a/core-java-modules/core-java/README.md
+++ b/core-java-modules/core-java/README.md
@@ -4,7 +4,6 @@
- [Java Timer](http://www.baeldung.com/java-timer-and-timertask)
- [A Guide To Java Regular Expressions API](http://www.baeldung.com/regular-expressions-java)
- [Getting Started with Java Properties](http://www.baeldung.com/java-properties)
-- [How to Create an Executable JAR with Maven](http://www.baeldung.com/executable-jar-with-maven)
- [Introduction to Nashorn](http://www.baeldung.com/java-nashorn)
- [Java Money and the Currency API](http://www.baeldung.com/java-money-and-currency)
- [JVM Log Forging](http://www.baeldung.com/jvm-log-forging)
@@ -21,24 +20,19 @@
- [ASCII Art in Java](http://www.baeldung.com/ascii-art-in-java)
- [What is the serialVersionUID?](http://www.baeldung.com/java-serial-version-uid)
- [A Guide to the ResourceBundle](http://www.baeldung.com/java-resourcebundle)
-- [Importance of Main Manifest Attribute in a Self-Executing JAR](http://www.baeldung.com/java-jar-executable-manifest-main-class)
- [Java Global Exception Handler](http://www.baeldung.com/java-global-exception-handler)
- [How to Get the Size of an Object in Java](http://www.baeldung.com/java-size-of-object)
- [Common Java Exceptions](http://www.baeldung.com/java-common-exceptions)
- [Throw Exception in Optional in Java 8](https://www.baeldung.com/java-optional-throw-exception)
- [Merging java.util.Properties Objects](https://www.baeldung.com/java-merging-properties)
- [Java – Try with Resources](https://www.baeldung.com/java-try-with-resources)
-- [Abstract Classes in Java](https://www.baeldung.com/java-abstract-class)
- [Guide to Character Encoding](https://www.baeldung.com/java-char-encoding)
- [Graphs in Java](https://www.baeldung.com/java-graphs)
- [Read and Write User Input in Java](http://www.baeldung.com/java-console-input-output)
- [Formatting with printf() in Java](https://www.baeldung.com/java-printstream-printf)
- [Retrieve Fields from a Java Class Using Reflection](https://www.baeldung.com/java-reflection-class-fields)
-- [Introduction to Basic Syntax in Java](https://www.baeldung.com/java-syntax)
- [Using Curl in Java](https://www.baeldung.com/java-curl)
- [Finding Leap Years in Java](https://www.baeldung.com/java-leap-year)
-- [Java Bitwise Operators](https://www.baeldung.com/java-bitwise-operators)
-- [Guide to Creating and Running a Jar File in Java](https://www.baeldung.com/java-create-jar)
- [Making a JSON POST Request With HttpURLConnection](https://www.baeldung.com/httpurlconnection-post)
- [How to Find an Exception’s Root Cause in Java](https://www.baeldung.com/java-exception-root-cause)
- [Convert Hex to ASCII in Java](https://www.baeldung.com/java-convert-hex-to-ascii)
diff --git a/pom.xml b/pom.xml
index 53055f38c0..650827081e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -450,6 +450,7 @@
core-java-modules/core-java-string-apis
core-java-modules/core-java-strings
core-java-modules/core-java
+ core-java-modules/core-java-jar
core-java-modules/core-java-jvm
core-scala
couchbase
@@ -1645,6 +1646,7 @@
parent-kotlin
core-java-modules/core-java
+ core-java-modules/core-java-jar
core-java-modules/core-java-concurrency-advanced
core-java-modules/core-java-concurrency-advanced-2
core-java-modules/core-java-concurrency-advanced-3