diff --git a/maven-java-kotlin/pom.xml b/maven-java-kotlin/pom.xml
new file mode 100644
index 0000000000..c4011ec884
--- /dev/null
+++ b/maven-java-kotlin/pom.xml
@@ -0,0 +1,96 @@
+
+
+
+ parent-modules
+ com.baeldung
+ 1.0.0-SNAPSHOT
+
+ 4.0.0
+
+ maven-java-kotlin
+ jar
+
+
+ 1.8
+ 1.2.51
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib-jdk8
+ ${kotlin.version}
+
+
+
+
+
+
+ kotlin-maven-plugin
+ org.jetbrains.kotlin
+ ${kotlin.version}
+
+
+ compile
+
+ compile
+
+
+
+ ${project.basedir}/src/main/kotlin
+ ${project.basedir}/src/main/java
+
+
+
+
+ test-compile
+
+ test-compile
+
+
+
+ ${project.basedir}/src/test/kotlin
+ ${project.basedir}/src/test/java
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ ${java.version}
+ ${java.version}
+
+
+
+ default-compile
+ none
+
+
+ default-testCompile
+ none
+
+
+ java-compile
+ compile
+
+ compile
+
+
+
+ java-test-compile
+ test-compile
+
+ testCompile
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/maven-java-kotlin/src/main/java/com/baeldung/mavenjavakotlin/Application.java b/maven-java-kotlin/src/main/java/com/baeldung/mavenjavakotlin/Application.java
new file mode 100644
index 0000000000..e2cc0f1e01
--- /dev/null
+++ b/maven-java-kotlin/src/main/java/com/baeldung/mavenjavakotlin/Application.java
@@ -0,0 +1,26 @@
+package com.baeldung.mavenjavakotlin;
+
+import com.baeldung.mavenjavakotlin.services.JavaService;
+import com.baeldung.mavenjavakotlin.services.KotlinService;
+
+public class Application {
+
+ private static final String JAVA = "java";
+ private static final String KOTLIN = "kotlin";
+
+ public static void main(String[] args) {
+ String language = args[0];
+ switch (language) {
+ case JAVA:
+ new JavaService().sayHello();
+ break;
+ case KOTLIN:
+ new KotlinService().sayHello();
+ break;
+ default:
+ // Do nothing
+ break;
+ }
+ }
+
+}
diff --git a/maven-java-kotlin/src/main/java/com/baeldung/mavenjavakotlin/services/JavaService.java b/maven-java-kotlin/src/main/java/com/baeldung/mavenjavakotlin/services/JavaService.java
new file mode 100644
index 0000000000..b767e761af
--- /dev/null
+++ b/maven-java-kotlin/src/main/java/com/baeldung/mavenjavakotlin/services/JavaService.java
@@ -0,0 +1,9 @@
+package com.baeldung.mavenjavakotlin.services;
+
+public class JavaService {
+
+ public void sayHello() {
+ System.out.println("Java says 'Hello World!'");
+ }
+
+}
diff --git a/maven-java-kotlin/src/main/kotlin/com/baeldung/mavenjavakotlin/services/KotlinService.kt b/maven-java-kotlin/src/main/kotlin/com/baeldung/mavenjavakotlin/services/KotlinService.kt
new file mode 100644
index 0000000000..114b1c88df
--- /dev/null
+++ b/maven-java-kotlin/src/main/kotlin/com/baeldung/mavenjavakotlin/services/KotlinService.kt
@@ -0,0 +1,9 @@
+package com.baeldung.mavenjavakotlin.services
+
+class KotlinService {
+
+ fun sayHello() {
+ System.out.println("Kotlin says 'Hello World!'")
+ }
+
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index d6f9081ed4..d6c440a194 100644
--- a/pom.xml
+++ b/pom.xml
@@ -269,7 +269,8 @@
java-ee-8-security-api
spring-webflux-amqp
antlr
- maven-archetype
+ maven-archetype
+ maven-java-kotlin
apache-meecrowave