'java.lang.module.FindException during running multi-module Gradle application
I have a simple Spring Boot application which is using Java modules functionality with Gradle. I have the following project structure:
In root gradle settings files I have the following configurations:
~settings.gradle.kts
rootProject.name = "module-demo"
include(
"core"
)
with(findProject("core")) {
this?.name = "module-demo.core"
}
~build.gradle.kts
plugins {
id("org.springframework.boot") version "2.6.7"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
id ("java")
id ("org.javamodularity.moduleplugin") version "1.1.1"
kotlin("jvm") version "1.6.21"
kotlin("plugin.spring") version "1.6.21"
kotlin("plugin.jpa") version "1.6.21"
}
subprojects {
apply(plugin = "java")
apply(plugin = "org.javamodularity.moduleplugin")
}
group = "pl"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_11
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-data-rest")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
runtimeOnly("com.h2database:h2")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "11"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
Each time when I try to run this simple app using Run IntellIJ button I'm receiving:
Error occurred during initialization of boot layer
java.lang.module.FindException: Module dsi.moduledemo not found
I don't have any idea what is wrong with my project setup. Below I include content of module-info.java file:
module dsi.moduledemo {
requires spring.boot;
requires spring.boot.autoconfigure;
requires spring.context;
requires kotlin.stdlib;
exports dsi.moduledemo.app;
}
Sorry if it's a trivial question but it's my first touch with Java module mechanism with combination with Gradle plugin.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
