How to add Project Dependency using gradle?

2019-05-28 19:39发布

问题:

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'.

回答1:

The documentation uses the following syntax:

dependencies {
    compile project(':DbServices')
}


回答2:

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.



标签: gradle