diff --git a/content/roadmaps.json b/content/roadmaps.json
index 0807210a3..a4ea6b329 100644
--- a/content/roadmaps.json
+++ b/content/roadmaps.json
@@ -475,6 +475,7 @@
"url": "https://twitter.com/kamranahmedse"
},
"pdfUrl": "/pdfs/java.pdf",
+ "contentPathsFilePath": "/roadmaps/109-java/content-paths.json",
"id": "java",
"metaPath": "/roadmaps/109-java/meta.json"
},
diff --git a/content/roadmaps/109-java/content-paths.json b/content/roadmaps/109-java/content-paths.json
new file mode 100644
index 000000000..51bb22733
--- /dev/null
+++ b/content/roadmaps/109-java/content-paths.json
@@ -0,0 +1,55 @@
+{
+ "home": "/roadmaps/109-java/content/readme.md",
+ "java-fundamentals": "/roadmaps/109-java/content/100-java-fundamentals/readme.md",
+ "java-fundamentals:data-types-variables": "/roadmaps/109-java/content/100-java-fundamentals/101-data-types-variables.md",
+ "java-fundamentals:basic-syntax": "/roadmaps/109-java/content/100-java-fundamentals/100-basic-syntax.md",
+ "java-fundamentals:conditionals": "/roadmaps/109-java/content/100-java-fundamentals/102-conditionals.md",
+ "java-fundamentals:functions": "/roadmaps/109-java/content/100-java-fundamentals/103-functions.md",
+ "java-fundamentals:datastructures": "/roadmaps/109-java/content/100-java-fundamentals/104-datastructures.md",
+ "java-fundamentals:oop": "/roadmaps/109-java/content/100-java-fundamentals/105-oop.md",
+ "java-fundamentals:packages": "/roadmaps/109-java/content/100-java-fundamentals/106-packages.md",
+ "java-fundamentals:files-and-apis": "/roadmaps/109-java/content/100-java-fundamentals/106-files-and-apis.md",
+ "java-fundamentals:loops": "/roadmaps/109-java/content/100-java-fundamentals/107-loops.md",
+ "java-fundamentals:exception-handling": "/roadmaps/109-java/content/100-java-fundamentals/108-exception-handling.md",
+ "java-advanced-topics": "/roadmaps/109-java/content/101-java-advanced-topics/readme.md",
+ "java-advanced-topics:generics": "/roadmaps/109-java/content/101-java-advanced-topics/100-generics.md",
+ "java-advanced-topics:memory-management": "/roadmaps/109-java/content/101-java-advanced-topics/101-memory-management.md",
+ "java-advanced-topics:collection-framework": "/roadmaps/109-java/content/101-java-advanced-topics/102-collection-framework.md",
+ "java-advanced-topics:serialization": "/roadmaps/109-java/content/101-java-advanced-topics/103-serialization.md",
+ "java-advanced-topics:networking-sockets": "/roadmaps/109-java/content/101-java-advanced-topics/104-networking-sockets.md",
+ "java-advanced-topics:streams": "/roadmaps/109-java/content/101-java-advanced-topics/105-streams.md",
+ "java-advanced-topics:how-jvm-works": "/roadmaps/109-java/content/101-java-advanced-topics/106-how-jvm-works.md",
+ "java-advanced-topics:garbage-collection": "/roadmaps/109-java/content/101-java-advanced-topics/107-garbage-collection.md",
+ "java-advanced-topics:basics-of-threads": "/roadmaps/109-java/content/101-java-advanced-topics/108-basics-of-threads.md",
+ "java-build-tools": "/roadmaps/109-java/content/102-java-build-tools/readme.md",
+ "java-build-tools:gradle": "/roadmaps/109-java/content/102-java-build-tools/100-gradle.md",
+ "java-build-tools:maven": "/roadmaps/109-java/content/102-java-build-tools/101-maven.md",
+ "java-build-tools:ant": "/roadmaps/109-java/content/102-java-build-tools/102-ant.md",
+ "java-web-frameworks": "/roadmaps/109-java/content/103-java-web-frameworks/readme.md",
+ "java-web-frameworks:sprint": "/roadmaps/109-java/content/103-java-web-frameworks/100-sprint.md",
+ "java-web-frameworks:sprint-boot": "/roadmaps/109-java/content/103-java-web-frameworks/101-sprint-boot.md",
+ "java-web-frameworks:play-framework": "/roadmaps/109-java/content/103-java-web-frameworks/102-play-framework.md",
+ "java-web-frameworks:spark": "/roadmaps/109-java/content/103-java-web-frameworks/103-spark.md",
+ "java-orm": "/roadmaps/109-java/content/104-java-orm/readme.md",
+ "java-orm:jpa": "/roadmaps/109-java/content/104-java-orm/100-jpa.md",
+ "java-orm:spring-data-jpa": "/roadmaps/109-java/content/104-java-orm/101-spring-data-jpa.md",
+ "java-orm:hibernate": "/roadmaps/109-java/content/104-java-orm/102-hibernate.md",
+ "java-orm:ebean": "/roadmaps/109-java/content/104-java-orm/103-ebean.md",
+ "java-logging-frameworks": "/roadmaps/109-java/content/105-java-logging-frameworks/readme.md",
+ "java-logging-frameworks:log4j2": "/roadmaps/109-java/content/105-java-logging-frameworks/100-log4j2.md",
+ "java-logging-frameworks:logback": "/roadmaps/109-java/content/105-java-logging-frameworks/101-logback.md",
+ "java-logging-frameworks:slf4j": "/roadmaps/109-java/content/105-java-logging-frameworks/102-slf4j.md",
+ "java-logging-frameworks:tinylog": "/roadmaps/109-java/content/105-java-logging-frameworks/103-tinylog.md",
+ "java-jdbc": "/roadmaps/109-java/content/106-java-jdbc/readme.md",
+ "java-jdbc:jdbi3": "/roadmaps/109-java/content/106-java-jdbc/100-jdbi3.md",
+ "java-jdbc:jdbc-template": "/roadmaps/109-java/content/106-java-jdbc/101-jdbc-template.md",
+ "testing-java-apps": "/roadmaps/109-java/content/107-testing-java-apps/readme.md",
+ "testing-java-apps:mocking": "/roadmaps/109-java/content/107-testing-java-apps/100-mocking.md",
+ "testing-java-apps:cucumber-jvm": "/roadmaps/109-java/content/107-testing-java-apps/101-cucumber-jvm.md",
+ "testing-java-apps:cukes": "/roadmaps/109-java/content/107-testing-java-apps/102-cukes.md",
+ "testing-java-apps:jbehave": "/roadmaps/109-java/content/107-testing-java-apps/103-jbehave.md",
+ "testing-java-apps:junit": "/roadmaps/109-java/content/107-testing-java-apps/104-junit.md",
+ "testing-java-apps:testng": "/roadmaps/109-java/content/107-testing-java-apps/105-testng.md",
+ "testing-java-apps:rest-assured": "/roadmaps/109-java/content/107-testing-java-apps/106-rest-assured.md",
+ "testing-java-apps:jmeter": "/roadmaps/109-java/content/107-testing-java-apps/107-jmeter.md"
+}
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/100-basic-syntax.md b/content/roadmaps/109-java/content/100-java-fundamentals/100-basic-syntax.md
new file mode 100644
index 000000000..89cd6b207
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/100-basic-syntax.md
@@ -0,0 +1 @@
+# Basic syntax
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/101-data-types-variables.md b/content/roadmaps/109-java/content/100-java-fundamentals/101-data-types-variables.md
new file mode 100644
index 000000000..d578d07aa
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/101-data-types-variables.md
@@ -0,0 +1 @@
+# Data types variables
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/102-conditionals.md b/content/roadmaps/109-java/content/100-java-fundamentals/102-conditionals.md
new file mode 100644
index 000000000..e36a33870
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/102-conditionals.md
@@ -0,0 +1 @@
+# Conditionals
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/103-functions.md b/content/roadmaps/109-java/content/100-java-fundamentals/103-functions.md
new file mode 100644
index 000000000..cebcc2697
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/103-functions.md
@@ -0,0 +1 @@
+# Functions
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/104-datastructures.md b/content/roadmaps/109-java/content/100-java-fundamentals/104-datastructures.md
new file mode 100644
index 000000000..7e31f0492
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/104-datastructures.md
@@ -0,0 +1 @@
+# Datastructures
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/105-oop.md b/content/roadmaps/109-java/content/100-java-fundamentals/105-oop.md
new file mode 100644
index 000000000..70389d826
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/105-oop.md
@@ -0,0 +1 @@
+# Oop
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/106-files-and-apis.md b/content/roadmaps/109-java/content/100-java-fundamentals/106-files-and-apis.md
new file mode 100644
index 000000000..4c140911d
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/106-files-and-apis.md
@@ -0,0 +1 @@
+# Files and apis
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/106-packages.md b/content/roadmaps/109-java/content/100-java-fundamentals/106-packages.md
new file mode 100644
index 000000000..9dcad6f26
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/106-packages.md
@@ -0,0 +1 @@
+# Packages
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/107-loops.md b/content/roadmaps/109-java/content/100-java-fundamentals/107-loops.md
new file mode 100644
index 000000000..d31a16aa6
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/107-loops.md
@@ -0,0 +1 @@
+# Loops
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/108-exception-handling.md b/content/roadmaps/109-java/content/100-java-fundamentals/108-exception-handling.md
new file mode 100644
index 000000000..d8e7f3d3c
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/108-exception-handling.md
@@ -0,0 +1 @@
+# Exception handling
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/100-java-fundamentals/readme.md b/content/roadmaps/109-java/content/100-java-fundamentals/readme.md
new file mode 100644
index 000000000..0ed936c59
--- /dev/null
+++ b/content/roadmaps/109-java/content/100-java-fundamentals/readme.md
@@ -0,0 +1 @@
+# Java fundamentals
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/101-java-advanced-topics/100-generics.md b/content/roadmaps/109-java/content/101-java-advanced-topics/100-generics.md
new file mode 100644
index 000000000..380856fe4
--- /dev/null
+++ b/content/roadmaps/109-java/content/101-java-advanced-topics/100-generics.md
@@ -0,0 +1 @@
+# Generics
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/101-java-advanced-topics/101-memory-management.md b/content/roadmaps/109-java/content/101-java-advanced-topics/101-memory-management.md
new file mode 100644
index 000000000..9349679e5
--- /dev/null
+++ b/content/roadmaps/109-java/content/101-java-advanced-topics/101-memory-management.md
@@ -0,0 +1 @@
+# Memory management
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/101-java-advanced-topics/102-collection-framework.md b/content/roadmaps/109-java/content/101-java-advanced-topics/102-collection-framework.md
new file mode 100644
index 000000000..de09c8977
--- /dev/null
+++ b/content/roadmaps/109-java/content/101-java-advanced-topics/102-collection-framework.md
@@ -0,0 +1 @@
+# Collection framework
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/101-java-advanced-topics/103-serialization.md b/content/roadmaps/109-java/content/101-java-advanced-topics/103-serialization.md
new file mode 100644
index 000000000..db5ec04c5
--- /dev/null
+++ b/content/roadmaps/109-java/content/101-java-advanced-topics/103-serialization.md
@@ -0,0 +1 @@
+# Serialization
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/101-java-advanced-topics/104-networking-sockets.md b/content/roadmaps/109-java/content/101-java-advanced-topics/104-networking-sockets.md
new file mode 100644
index 000000000..c1dc2274c
--- /dev/null
+++ b/content/roadmaps/109-java/content/101-java-advanced-topics/104-networking-sockets.md
@@ -0,0 +1 @@
+# Networking sockets
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/101-java-advanced-topics/105-streams.md b/content/roadmaps/109-java/content/101-java-advanced-topics/105-streams.md
new file mode 100644
index 000000000..db4757f0c
--- /dev/null
+++ b/content/roadmaps/109-java/content/101-java-advanced-topics/105-streams.md
@@ -0,0 +1 @@
+# Streams
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/101-java-advanced-topics/106-how-jvm-works.md b/content/roadmaps/109-java/content/101-java-advanced-topics/106-how-jvm-works.md
new file mode 100644
index 000000000..e94c739ad
--- /dev/null
+++ b/content/roadmaps/109-java/content/101-java-advanced-topics/106-how-jvm-works.md
@@ -0,0 +1 @@
+# How jvm works
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/101-java-advanced-topics/107-garbage-collection.md b/content/roadmaps/109-java/content/101-java-advanced-topics/107-garbage-collection.md
new file mode 100644
index 000000000..2e9dd7ee1
--- /dev/null
+++ b/content/roadmaps/109-java/content/101-java-advanced-topics/107-garbage-collection.md
@@ -0,0 +1 @@
+# Garbage collection
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/101-java-advanced-topics/108-basics-of-threads.md b/content/roadmaps/109-java/content/101-java-advanced-topics/108-basics-of-threads.md
new file mode 100644
index 000000000..3a4a57232
--- /dev/null
+++ b/content/roadmaps/109-java/content/101-java-advanced-topics/108-basics-of-threads.md
@@ -0,0 +1 @@
+# Basics of threads
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/101-java-advanced-topics/readme.md b/content/roadmaps/109-java/content/101-java-advanced-topics/readme.md
new file mode 100644
index 000000000..4aea76cae
--- /dev/null
+++ b/content/roadmaps/109-java/content/101-java-advanced-topics/readme.md
@@ -0,0 +1 @@
+# Java advanced topics
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/102-java-build-tools/100-gradle.md b/content/roadmaps/109-java/content/102-java-build-tools/100-gradle.md
new file mode 100644
index 000000000..ca8527737
--- /dev/null
+++ b/content/roadmaps/109-java/content/102-java-build-tools/100-gradle.md
@@ -0,0 +1 @@
+# Gradle
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/102-java-build-tools/101-maven.md b/content/roadmaps/109-java/content/102-java-build-tools/101-maven.md
new file mode 100644
index 000000000..2c9d2eefe
--- /dev/null
+++ b/content/roadmaps/109-java/content/102-java-build-tools/101-maven.md
@@ -0,0 +1 @@
+# Maven
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/102-java-build-tools/102-ant.md b/content/roadmaps/109-java/content/102-java-build-tools/102-ant.md
new file mode 100644
index 000000000..29418cada
--- /dev/null
+++ b/content/roadmaps/109-java/content/102-java-build-tools/102-ant.md
@@ -0,0 +1 @@
+# Ant
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/102-java-build-tools/readme.md b/content/roadmaps/109-java/content/102-java-build-tools/readme.md
new file mode 100644
index 000000000..9e0482d4a
--- /dev/null
+++ b/content/roadmaps/109-java/content/102-java-build-tools/readme.md
@@ -0,0 +1 @@
+# Java build tools
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/103-java-web-frameworks/100-sprint.md b/content/roadmaps/109-java/content/103-java-web-frameworks/100-sprint.md
new file mode 100644
index 000000000..02417cdbd
--- /dev/null
+++ b/content/roadmaps/109-java/content/103-java-web-frameworks/100-sprint.md
@@ -0,0 +1 @@
+# Sprint
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/103-java-web-frameworks/101-sprint-boot.md b/content/roadmaps/109-java/content/103-java-web-frameworks/101-sprint-boot.md
new file mode 100644
index 000000000..f15b53fb8
--- /dev/null
+++ b/content/roadmaps/109-java/content/103-java-web-frameworks/101-sprint-boot.md
@@ -0,0 +1 @@
+# Sprint boot
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/103-java-web-frameworks/102-play-framework.md b/content/roadmaps/109-java/content/103-java-web-frameworks/102-play-framework.md
new file mode 100644
index 000000000..0ee890ef6
--- /dev/null
+++ b/content/roadmaps/109-java/content/103-java-web-frameworks/102-play-framework.md
@@ -0,0 +1 @@
+# Play framework
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/103-java-web-frameworks/103-spark.md b/content/roadmaps/109-java/content/103-java-web-frameworks/103-spark.md
new file mode 100644
index 000000000..c8042f74b
--- /dev/null
+++ b/content/roadmaps/109-java/content/103-java-web-frameworks/103-spark.md
@@ -0,0 +1 @@
+# Spark
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/103-java-web-frameworks/readme.md b/content/roadmaps/109-java/content/103-java-web-frameworks/readme.md
new file mode 100644
index 000000000..9e91c194b
--- /dev/null
+++ b/content/roadmaps/109-java/content/103-java-web-frameworks/readme.md
@@ -0,0 +1 @@
+# Java web frameworks
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/104-java-orm/100-jpa.md b/content/roadmaps/109-java/content/104-java-orm/100-jpa.md
new file mode 100644
index 000000000..7dd08e1ee
--- /dev/null
+++ b/content/roadmaps/109-java/content/104-java-orm/100-jpa.md
@@ -0,0 +1 @@
+# Jpa
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/104-java-orm/101-spring-data-jpa.md b/content/roadmaps/109-java/content/104-java-orm/101-spring-data-jpa.md
new file mode 100644
index 000000000..f32f6c2bb
--- /dev/null
+++ b/content/roadmaps/109-java/content/104-java-orm/101-spring-data-jpa.md
@@ -0,0 +1 @@
+# Spring data jpa
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/104-java-orm/102-hibernate.md b/content/roadmaps/109-java/content/104-java-orm/102-hibernate.md
new file mode 100644
index 000000000..c13433714
--- /dev/null
+++ b/content/roadmaps/109-java/content/104-java-orm/102-hibernate.md
@@ -0,0 +1 @@
+# Hibernate
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/104-java-orm/103-ebean.md b/content/roadmaps/109-java/content/104-java-orm/103-ebean.md
new file mode 100644
index 000000000..102b03305
--- /dev/null
+++ b/content/roadmaps/109-java/content/104-java-orm/103-ebean.md
@@ -0,0 +1 @@
+# Ebean
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/104-java-orm/readme.md b/content/roadmaps/109-java/content/104-java-orm/readme.md
new file mode 100644
index 000000000..26bead2ad
--- /dev/null
+++ b/content/roadmaps/109-java/content/104-java-orm/readme.md
@@ -0,0 +1 @@
+# Java orm
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/105-java-logging-frameworks/100-log4j2.md b/content/roadmaps/109-java/content/105-java-logging-frameworks/100-log4j2.md
new file mode 100644
index 000000000..a8651c0e3
--- /dev/null
+++ b/content/roadmaps/109-java/content/105-java-logging-frameworks/100-log4j2.md
@@ -0,0 +1 @@
+# Log4j2
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/105-java-logging-frameworks/101-logback.md b/content/roadmaps/109-java/content/105-java-logging-frameworks/101-logback.md
new file mode 100644
index 000000000..a39ac144c
--- /dev/null
+++ b/content/roadmaps/109-java/content/105-java-logging-frameworks/101-logback.md
@@ -0,0 +1 @@
+# Logback
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/105-java-logging-frameworks/102-slf4j.md b/content/roadmaps/109-java/content/105-java-logging-frameworks/102-slf4j.md
new file mode 100644
index 000000000..3671ea0f4
--- /dev/null
+++ b/content/roadmaps/109-java/content/105-java-logging-frameworks/102-slf4j.md
@@ -0,0 +1 @@
+# Slf4j
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/105-java-logging-frameworks/103-tinylog.md b/content/roadmaps/109-java/content/105-java-logging-frameworks/103-tinylog.md
new file mode 100644
index 000000000..2184f081f
--- /dev/null
+++ b/content/roadmaps/109-java/content/105-java-logging-frameworks/103-tinylog.md
@@ -0,0 +1 @@
+# Tinylog
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/105-java-logging-frameworks/readme.md b/content/roadmaps/109-java/content/105-java-logging-frameworks/readme.md
new file mode 100644
index 000000000..af3220ed0
--- /dev/null
+++ b/content/roadmaps/109-java/content/105-java-logging-frameworks/readme.md
@@ -0,0 +1 @@
+# Java logging frameworks
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/106-java-jdbc/100-jdbi3.md b/content/roadmaps/109-java/content/106-java-jdbc/100-jdbi3.md
new file mode 100644
index 000000000..cc5bc0a10
--- /dev/null
+++ b/content/roadmaps/109-java/content/106-java-jdbc/100-jdbi3.md
@@ -0,0 +1 @@
+# Jdbi3
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/106-java-jdbc/101-jdbc-template.md b/content/roadmaps/109-java/content/106-java-jdbc/101-jdbc-template.md
new file mode 100644
index 000000000..f40fe5fbc
--- /dev/null
+++ b/content/roadmaps/109-java/content/106-java-jdbc/101-jdbc-template.md
@@ -0,0 +1 @@
+# Jdbc template
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/106-java-jdbc/readme.md b/content/roadmaps/109-java/content/106-java-jdbc/readme.md
new file mode 100644
index 000000000..88dce0d2b
--- /dev/null
+++ b/content/roadmaps/109-java/content/106-java-jdbc/readme.md
@@ -0,0 +1 @@
+# Java jdbc
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/107-testing-java-apps/100-mocking.md b/content/roadmaps/109-java/content/107-testing-java-apps/100-mocking.md
new file mode 100644
index 000000000..fedca8186
--- /dev/null
+++ b/content/roadmaps/109-java/content/107-testing-java-apps/100-mocking.md
@@ -0,0 +1 @@
+# Mocking
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/107-testing-java-apps/101-cucumber-jvm.md b/content/roadmaps/109-java/content/107-testing-java-apps/101-cucumber-jvm.md
new file mode 100644
index 000000000..5f7eb77e6
--- /dev/null
+++ b/content/roadmaps/109-java/content/107-testing-java-apps/101-cucumber-jvm.md
@@ -0,0 +1 @@
+# Cucumber jvm
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/107-testing-java-apps/102-cukes.md b/content/roadmaps/109-java/content/107-testing-java-apps/102-cukes.md
new file mode 100644
index 000000000..a71c8ebc2
--- /dev/null
+++ b/content/roadmaps/109-java/content/107-testing-java-apps/102-cukes.md
@@ -0,0 +1 @@
+# Cukes
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/107-testing-java-apps/103-jbehave.md b/content/roadmaps/109-java/content/107-testing-java-apps/103-jbehave.md
new file mode 100644
index 000000000..7866cde80
--- /dev/null
+++ b/content/roadmaps/109-java/content/107-testing-java-apps/103-jbehave.md
@@ -0,0 +1 @@
+# Jbehave
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/107-testing-java-apps/104-junit.md b/content/roadmaps/109-java/content/107-testing-java-apps/104-junit.md
new file mode 100644
index 000000000..fd259949f
--- /dev/null
+++ b/content/roadmaps/109-java/content/107-testing-java-apps/104-junit.md
@@ -0,0 +1 @@
+# Junit
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/107-testing-java-apps/105-testng.md b/content/roadmaps/109-java/content/107-testing-java-apps/105-testng.md
new file mode 100644
index 000000000..8d70f9d70
--- /dev/null
+++ b/content/roadmaps/109-java/content/107-testing-java-apps/105-testng.md
@@ -0,0 +1 @@
+# Testng
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/107-testing-java-apps/106-rest-assured.md b/content/roadmaps/109-java/content/107-testing-java-apps/106-rest-assured.md
new file mode 100644
index 000000000..55428a59b
--- /dev/null
+++ b/content/roadmaps/109-java/content/107-testing-java-apps/106-rest-assured.md
@@ -0,0 +1 @@
+# Rest assured
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/107-testing-java-apps/107-jmeter.md b/content/roadmaps/109-java/content/107-testing-java-apps/107-jmeter.md
new file mode 100644
index 000000000..5b0c2728e
--- /dev/null
+++ b/content/roadmaps/109-java/content/107-testing-java-apps/107-jmeter.md
@@ -0,0 +1 @@
+# Jmeter
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/107-testing-java-apps/readme.md b/content/roadmaps/109-java/content/107-testing-java-apps/readme.md
new file mode 100644
index 000000000..9639fa68e
--- /dev/null
+++ b/content/roadmaps/109-java/content/107-testing-java-apps/readme.md
@@ -0,0 +1 @@
+# Testing java apps
\ No newline at end of file
diff --git a/content/roadmaps/109-java/content/readme.md b/content/roadmaps/109-java/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/content/roadmaps/109-java/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/content/roadmaps/109-java/meta.json b/content/roadmaps/109-java/meta.json
index 63e785ca8..913f75d13 100644
--- a/content/roadmaps/109-java/meta.json
+++ b/content/roadmaps/109-java/meta.json
@@ -45,5 +45,6 @@
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
- "pdfUrl": "/pdfs/java.pdf"
-}
+ "pdfUrl": "/pdfs/java.pdf",
+ "contentPathsFilePath": "./content-paths.json"
+}
\ No newline at end of file
diff --git a/public/sitemap.xml b/public/sitemap.xml
index 1ba78f253..2fc7dbc4d 100644
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -57,7 +57,7 @@
https://roadmap.sh/java
monthly
- 2022-08-14T15:22:36.252Z
+ 2022-08-15T06:16:49.256Z
1.0