Reputation: 81
I am facing the following problem. I need to build the multi-project, but when I try to add the dependency I got the following error.
Root Project's settings.gradle:
include 'DbServices','HelloWeb'
Root Project's build.gradle:
apply plugin: 'java'
project(':HelloWeb') {
dependencies {
compile (':DbServices')
}
}
DbServices's build.gradle:
apply plugin: 'java'
HelloWeb's build.gradle:
apply plugin: 'java'
However, then I am getting the following error when synchronize with the gradle tasks on Root Project:
Executing command: "tasks"
FAILURE: Build failed with an exception.
Where: Build file 'D:\MyDeployment\RootProject\build.gradle' line: 21
What went wrong: A problem occurred evaluating root project 'RootProject'.
Could not find method compile() for arguments [:DbServices] on org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@3b3e3b3e.
Try: Run with --info or --debug option to get more log output.
Exception is: org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'RootProject'.
Upvotes: 6
Views: 17968
Reputation: 123986
The notion of compile
dependencies is introduced by the java
plugin. Therefore, this plugin has to be applied (to the HelloWeb project) before declaring dependencies. The easiest way to fix this is to move the dependencies
block into HelloWeb's build.gradle
. Additionally, the project dependency syntax needs to be fixed according to JB Nizet's answer.
Upvotes: 2
Reputation: 692151
The documentation uses the following syntax:
dependencies {
compile project(':DbServices')
}
Upvotes: 11