Проект реализации Gradle выдает исключение - PullRequest
1 голос
/ 16 июня 2020

У меня есть эта иерархия в моем проекте:

- project
  - project-server
    - build.gradle
    - gradle.properties
    - settings.gradle    
  - project-client
    - build.gradle
    - gradle.properties
    - settings.gradle
  - build.gradle
  - gradle.properties
  - settings.gradle

В родительском файле build.gradle я добавил эти строки:

project(':project-client') {
    dependencies {
        implementation project(':project-server')
    }
}

и получаю:

Что пошло не так: возникла проблема при оценке root проекта 'проект'.

Не удалось найти реализацию метода () для аргументов [проект ': проект-клиент'] объекта типа org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Это весь мой build.gradle:

apply plugin: 'java'

println(subprojects.each {it -> it.name})

project(':project-client') {
    dependencies {
        implementation project(':project-server')
    }
}

allprojects {
    group = 'com.test'

    repositories {
        mavenLocal()
        maven {
          //local nexus config
        }
        mavenCentral()
        jcenter()
    }
}

subprojects {
    version = {version}
}

Это setting.gradle:

rootProject.name = 'project'

include 'project-server', 'project-client'

Пожалуйста, помогите, заранее спасибо.

1 Ответ

1 голос
/ 16 июня 2020

implementation конфигурация добавляется плагином java .

Вы применили плагин java только для проекта root в предоставленном build.gradle . Ваш подпроект :project-client не наследует подключаемые модули от своего родителя (root), поэтому подключаемый модуль java не был применен к проекту :project-client.

Вот почему он «не смог найти метод implementation() для аргументов ... ". Обязательно примените плагин java к подпроектам.

...