# Multi module project dependency resolution error - Kotlin DSL

**URL:** <https://discuss.kotlinlang.org/t/multi-module-project-dependency-resolution-error-kotlin-dsl/18230>\
**Category:** Support\
**Created:** [June 25, 2020, 5:22am UTC](https://discuss.kotlinlang.org/t/multi-module-project-dependency-resolution-error-kotlin-dsl/18230 "2020-06-25T05:22:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![RavitejaRTR](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/ravitejartr/32/7707_2.png) [@RavitejaRTR](https://discuss.kotlinlang.org/u/RavitejaRTR)\
**Post date:** [June 25, 2020, 5:22am UTC](https://discuss.kotlinlang.org/t/multi-module-project-dependency-resolution-error-kotlin-dsl/18230/1 "2020-06-25T05:22:29Z")

</div>

Unable to resolve the dependency of child module, I am building a multi module Gradle Java project using Kotlin DSL. I have two modules under root directory - `application, dao`. The `application` module needs to use classes defined in `dao` module.

I defined the dependency on dao module in build.gradle.kts of application module using  
`implementation(project(":dao"))`

I am defining beans of `dao` module using a config class and am trying to import it in application module, but the classes are not resolved in compile time. (SpringBoot application)

Please help me understand why is this dependency not getting resolved? Am I missing anything which is required in adding a module as dependency in another module?

Below are the respective files.  
Root `build.gradle.kts`

```
buildscript {
	repositories {
		mavenCentral()
	}
}

plugins {
	id("java")
	id("idea")
	id("war")
	id("io.spring.dependency-management") version "1.0.9.RELEASE"
}

subprojects {
	group = "com.company"
	version = "0.0.1"

	repositories {
		mavenCentral()
	}

	apply() {
		plugin("java")
		plugin("idea")
		plugin("io.spring.dependency-management")
	}

	java.sourceCompatibility = org.gradle.api.JavaVersion.VERSION_11

	dependencies {
		implementation("io.jsonwebtoken:jjwt-api:0.10.7")
		implementation("io.jsonwebtoken:jjwt-impl:0.10.7")
		implementation("com.auth0:java-jwt:3.10.3")

		implementation(group= "org.mockito", name= "mockito-core", version= "3.1.0")

		implementation(group= "javax.inject", name= "javax.inject", version= "1")
		implementation(group= "org.springframework", name= "spring-context", version= "5.2.6.RELEASE")
		implementation(group= "org.springframework.security", name= "spring-security-core", version= "4.2.3.RELEASE")
		
		implementation(group= "org.apache.commons", name= "commons-lang3", version= "3.7")
		implementation(group="com.google.guava", name= "guava", version= "29.0-jre")
		implementation(group= "commons-io", name= "commons-io", version= "2.7")

		testImplementation("org.junit.jupiter:junit-jupiter-api:5.3.1")
		testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.3.1")
	}
}

tasks.getByName<Test>("test") {
	useJUnitPlatform()
}

```

`settings.gradle.kts`

```
rootProject.name = "test-project"
include(":dao",":application")

```

`application` module’s `build.gradle.kts`

```
buildscript {
	repositories {
		mavenCentral()
	}
}

plugins {
	id("org.springframework.boot") version "2.3.0.RELEASE"
}

dependencies {
	implementation(project(":dao"))
	
	implementation("org.springframework.boot:spring-boot-starter-actuator")
	implementation("org.springframework.boot:spring-boot-starter-web")

}

val jar by tasks.getting(Jar::class) {
	manifest {
		attributes["Main-Class"] = "com.company.MainApplication"
	}

	from(sourceSets.main.get().output)

	dependsOn(configurations.runtimeClasspath)
	from({
		configurations.runtimeClasspath.get().filter { it.name.endsWith("jar") }.map { zipTree(it) }
	})
}

task<Exec>("start"){
	dependsOn("build")
	group = "Execution"
	description = "Start the application post running build and using generated jar file."
	commandLine("java", "-jar", jar.archiveFile.get())
}

task<Exec>("startFast") {
	dependsOn(jar)
	group = "Execution"
	description = "Start the application using last generated jar file."
	commandLine("java", "-jar", jar.archiveFile.get())
}

```

`dao` module’s `build.gradle.kts`

```
plugins {
	java
}

version = "unspecified"

repositories {
	mavenCentral()
}

dependencies {}

```
