diff --git a/boot/maven-parent/.gitignore b/boot/maven-parent/.gitignore
new file mode 100644
index 00000000..93749268
--- /dev/null
+++ b/boot/maven-parent/.gitignore
@@ -0,0 +1,3 @@
+target/
+!**/src/main/**/target/
+!**/src/test/**/target/
diff --git a/boot/maven-parent/multi-buildpacks/README.adoc b/boot/maven-parent/multi-buildpacks/README.adoc
new file mode 100644
index 00000000..77231940
--- /dev/null
+++ b/boot/maven-parent/multi-buildpacks/README.adoc
@@ -0,0 +1 @@
+Multi-projects with Cloud Native Buildpacks
diff --git a/boot/maven-parent/multi-buildpacks/multi-buildpacks-app/pom.xml b/boot/maven-parent/multi-buildpacks/multi-buildpacks-app/pom.xml
new file mode 100644
index 00000000..222c74aa
--- /dev/null
+++ b/boot/maven-parent/multi-buildpacks/multi-buildpacks-app/pom.xml
@@ -0,0 +1,38 @@
+
+
+ 4.0.0
+
+ com.example.multinbt
+ multi-buildpacks
+ ${revision}
+
+ multi-buildpacks-app
+ multi-buildpacks-app
+
+
+
+ com.example.multinbt
+ multi-buildpacks-lib
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+
+
+
+
+ org.graalvm.buildtools
+ native-maven-plugin
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/boot/maven-parent/multi-buildpacks/multi-buildpacks-app/src/main/java/com/example/multibuildpacks/app/MultiBuildpacksApplication.java b/boot/maven-parent/multi-buildpacks/multi-buildpacks-app/src/main/java/com/example/multibuildpacks/app/MultiBuildpacksApplication.java
new file mode 100644
index 00000000..5093bc43
--- /dev/null
+++ b/boot/maven-parent/multi-buildpacks/multi-buildpacks-app/src/main/java/com/example/multibuildpacks/app/MultiBuildpacksApplication.java
@@ -0,0 +1,23 @@
+package com.example.multibuildpacks.app;
+
+import com.example.multibuildpacks.lib.MultiBuildpacksService;
+
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+
+@SpringBootApplication
+public class MultiBuildpacksApplication {
+
+ public static void main(String[] args) {
+ SpringApplication application = new SpringApplication(MultiBuildpacksApplication.class);
+ application.run(args);
+ }
+
+ @Bean
+ public ApplicationRunner runner() {
+ return args -> new MultiBuildpacksService().sayHello();
+ }
+
+}
diff --git a/boot/maven-parent/multi-buildpacks/multi-buildpacks-lib/pom.xml b/boot/maven-parent/multi-buildpacks/multi-buildpacks-lib/pom.xml
new file mode 100644
index 00000000..e13309be
--- /dev/null
+++ b/boot/maven-parent/multi-buildpacks/multi-buildpacks-lib/pom.xml
@@ -0,0 +1,14 @@
+
+
+ 4.0.0
+
+ com.example.multinbt
+ multi-buildpacks
+ ${revision}
+
+ multi-buildpacks-lib
+ multi-buildpacks-lib
+
+
diff --git a/boot/maven-parent/multi-buildpacks/multi-buildpacks-lib/src/main/java/com/example/multibuildpacks/lib/MultiBuildpacksService.java b/boot/maven-parent/multi-buildpacks/multi-buildpacks-lib/src/main/java/com/example/multibuildpacks/lib/MultiBuildpacksService.java
new file mode 100644
index 00000000..07a10fc8
--- /dev/null
+++ b/boot/maven-parent/multi-buildpacks/multi-buildpacks-lib/src/main/java/com/example/multibuildpacks/lib/MultiBuildpacksService.java
@@ -0,0 +1,9 @@
+package com.example.multibuildpacks.lib;
+
+public class MultiBuildpacksService {
+
+ public void sayHello() {
+ System.out.println("Hello Native");
+ }
+
+}
diff --git a/boot/maven-parent/multi-buildpacks/pom.xml b/boot/maven-parent/multi-buildpacks/pom.xml
new file mode 100644
index 00000000..b2776625
--- /dev/null
+++ b/boot/maven-parent/multi-buildpacks/pom.xml
@@ -0,0 +1,99 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.0.0-SNAPSHOT
+
+
+ com.example.multinbt
+ multi-buildpacks
+ pom
+ ${revision}
+ multi-buildpacks
+
+
+ 0.0.1-SNAPSHOT
+
+
+
+ multi-buildpacks-app
+ multi-buildpacks-lib
+
+
+
+
+
+
+ com.example.multinbt
+ multi-buildpacks-lib
+ ${revision}
+
+
+
+
+
+
+ native
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ build-image
+
+ build-image-no-fork
+
+
+
+
+
+
+
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/snapshot
+
+ false
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/snapshot
+
+ false
+
+
+
+
+
diff --git a/boot/maven-parent/multi-nbt/README.adoc b/boot/maven-parent/multi-nbt/README.adoc
new file mode 100644
index 00000000..a215018e
--- /dev/null
+++ b/boot/maven-parent/multi-nbt/README.adoc
@@ -0,0 +1 @@
+Multi-projects with Native Build Tools
diff --git a/boot/maven-parent/multi-nbt/multi-nbt-app/pom.xml b/boot/maven-parent/multi-nbt/multi-nbt-app/pom.xml
new file mode 100644
index 00000000..17f160dd
--- /dev/null
+++ b/boot/maven-parent/multi-nbt/multi-nbt-app/pom.xml
@@ -0,0 +1,38 @@
+
+
+ 4.0.0
+
+ com.example.multinbt
+ multi-nbt
+ ${revision}
+
+ multi-nbt-app
+ multi-nbt-app
+
+
+
+ com.example.multinbt
+ multi-nbt-lib
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+
+
+
+
+ org.graalvm.buildtools
+ native-maven-plugin
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/boot/maven-parent/multi-nbt/multi-nbt-app/src/main/java/com/example/multinbt/app/MultiNbtApplication.java b/boot/maven-parent/multi-nbt/multi-nbt-app/src/main/java/com/example/multinbt/app/MultiNbtApplication.java
new file mode 100644
index 00000000..1030e2fe
--- /dev/null
+++ b/boot/maven-parent/multi-nbt/multi-nbt-app/src/main/java/com/example/multinbt/app/MultiNbtApplication.java
@@ -0,0 +1,23 @@
+package com.example.multinbt.app;
+
+import com.example.multinbt.lib.MultiNbtService;
+
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+
+@SpringBootApplication
+public class MultiNbtApplication {
+
+ public static void main(String[] args) {
+ SpringApplication application = new SpringApplication(MultiNbtApplication.class);
+ application.run(args);
+ }
+
+ @Bean
+ public ApplicationRunner runner() {
+ return args -> new MultiNbtService().sayHello();
+ }
+
+}
diff --git a/boot/maven-parent/multi-nbt/multi-nbt-lib/pom.xml b/boot/maven-parent/multi-nbt/multi-nbt-lib/pom.xml
new file mode 100644
index 00000000..c3654c54
--- /dev/null
+++ b/boot/maven-parent/multi-nbt/multi-nbt-lib/pom.xml
@@ -0,0 +1,14 @@
+
+
+ 4.0.0
+
+ com.example.multinbt
+ multi-nbt
+ ${revision}
+
+ multi-nbt-lib
+ multi-nbt-lib
+
+
diff --git a/boot/maven-parent/multi-nbt/multi-nbt-lib/src/main/java/com/example/multinbt/lib/MultiNbtService.java b/boot/maven-parent/multi-nbt/multi-nbt-lib/src/main/java/com/example/multinbt/lib/MultiNbtService.java
new file mode 100644
index 00000000..e75cb2bc
--- /dev/null
+++ b/boot/maven-parent/multi-nbt/multi-nbt-lib/src/main/java/com/example/multinbt/lib/MultiNbtService.java
@@ -0,0 +1,9 @@
+package com.example.multinbt.lib;
+
+public class MultiNbtService {
+
+ public void sayHello() {
+ System.out.println("Hello Native");
+ }
+
+}
diff --git a/boot/maven-parent/multi-nbt/pom.xml b/boot/maven-parent/multi-nbt/pom.xml
new file mode 100644
index 00000000..7b4c6e32
--- /dev/null
+++ b/boot/maven-parent/multi-nbt/pom.xml
@@ -0,0 +1,99 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.0.0-SNAPSHOT
+
+
+ com.example.multinbt
+ multi-nbt
+ pom
+ ${revision}
+ multi-nbt
+
+
+ 0.0.1-SNAPSHOT
+
+
+
+ multi-nbt-app
+ multi-nbt-lib
+
+
+
+
+
+
+ com.example.multinbt
+ multi-nbt-lib
+ ${revision}
+
+
+
+
+
+
+ native
+
+
+
+
+ org.graalvm.buildtools
+ native-maven-plugin
+
+
+ build-image
+
+ compile-no-fork
+
+
+
+
+
+
+
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/snapshot
+
+ false
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/snapshot
+
+ false
+
+
+
+
+
diff --git a/boot/maven-parent/single-buildpacks/README.adoc b/boot/maven-parent/single-buildpacks/README.adoc
new file mode 100644
index 00000000..fdfb1362
--- /dev/null
+++ b/boot/maven-parent/single-buildpacks/README.adoc
@@ -0,0 +1 @@
+Single project with Cloud Native Buildpacks
\ No newline at end of file
diff --git a/boot/maven-parent/single-buildpacks/pom.xml b/boot/maven-parent/single-buildpacks/pom.xml
new file mode 100644
index 00000000..64943da4
--- /dev/null
+++ b/boot/maven-parent/single-buildpacks/pom.xml
@@ -0,0 +1,74 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.0.0-SNAPSHOT
+
+
+ com.example.singlebuildpacks
+ single-buildpacks
+ 0.0.1-SNAPSHOT
+ single-buildpacks
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+
+
+
+
+ org.graalvm.buildtools
+ native-maven-plugin
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/snapshot
+
+ false
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/snapshot
+
+ false
+
+
+
+
+
diff --git a/boot/maven-parent/single-buildpacks/src/main/java/com/example/singlebuildpacks/app/SingleBuildpacksApplication.java b/boot/maven-parent/single-buildpacks/src/main/java/com/example/singlebuildpacks/app/SingleBuildpacksApplication.java
new file mode 100644
index 00000000..edd5bf3e
--- /dev/null
+++ b/boot/maven-parent/single-buildpacks/src/main/java/com/example/singlebuildpacks/app/SingleBuildpacksApplication.java
@@ -0,0 +1,21 @@
+package com.example.singlebuildpacks.app;
+
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+
+@SpringBootApplication
+public class SingleBuildpacksApplication {
+
+ public static void main(String[] args) {
+ SpringApplication application = new SpringApplication(SingleBuildpacksApplication.class);
+ application.run(args);
+ }
+
+ @Bean
+ public ApplicationRunner runner() {
+ return args -> System.out.println("Hello Native");
+ }
+
+}
diff --git a/boot/maven-parent/single-nbt/README.adoc b/boot/maven-parent/single-nbt/README.adoc
new file mode 100644
index 00000000..ebf5bbfd
--- /dev/null
+++ b/boot/maven-parent/single-nbt/README.adoc
@@ -0,0 +1 @@
+Single project with NBT
\ No newline at end of file
diff --git a/boot/maven-parent/single-nbt/pom.xml b/boot/maven-parent/single-nbt/pom.xml
new file mode 100644
index 00000000..ac9b64b3
--- /dev/null
+++ b/boot/maven-parent/single-nbt/pom.xml
@@ -0,0 +1,70 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.0.0-SNAPSHOT
+
+
+ com.example.singlenbt
+ single-nbt
+ 0.0.1-SNAPSHOT
+ single-nbt
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/snapshot
+
+ false
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/snapshot
+
+ false
+
+
+
+
+
diff --git a/boot/maven-parent/single-nbt/src/main/java/com/example/singlenbt/app/SingleNbtApplication.java b/boot/maven-parent/single-nbt/src/main/java/com/example/singlenbt/app/SingleNbtApplication.java
new file mode 100644
index 00000000..ecbf8053
--- /dev/null
+++ b/boot/maven-parent/single-nbt/src/main/java/com/example/singlenbt/app/SingleNbtApplication.java
@@ -0,0 +1,21 @@
+package com.example.singlenbt.app;
+
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+
+@SpringBootApplication
+public class SingleNbtApplication {
+
+ public static void main(String[] args) {
+ SpringApplication application = new SpringApplication(SingleNbtApplication.class);
+ application.run(args);
+ }
+
+ @Bean
+ public ApplicationRunner runner() {
+ return args -> System.out.println("Hello Native");
+ }
+
+}