2016-08-08 5 views
0

У меня есть проект проекта с несколькими проектами со следующей структурой.Подпроекты Gradle не будут компилироваться с зависимостью от другого подпроекта

Project A: The top level project that all sub projects reside in. 
    SubProject B: 
    SubProject C: 
    SubProject D: 
    SubProject E: 
    SubProject Shared: Every 'SubProject' has a dependency to this project "compile project(':Shared')" 

Все работает правильно при выполнении задач Gradle с верхнего уровня «Проект А»

Однако, когда я пытаюсь запустить индивидуальное задание на подпроекте, таких как «подпроект C», я получаю следующее сообщение об ошибке ,

FAILURE: Сложение неудачу с исключением

Что пошло не так:

возникла проблема оценки корня проекта 'подпроекта C'.

Проект с путём ': Shared' не найден в корневом проекте 'SubProject C'.

Я думаю, что вижу проблему здесь, Gradle думает, что мой субпроект является корневым проектом? Однако я не знаю, как это решить.

Мой settings.gradle файл верхнего уровня выглядит следующим образом

rootProject.name = 'Project A' 

include 'SubProject B' 
include 'SubProject C' 
include 'SubProject D' 
include 'SubProject E' 
include 'SubProject Shared' 

Это мой build.gradle файл для Bonus вопрос 'C' подпроекта

dependencies { 
    compile project(':Shared') 
} 

... У суб проекты должны файл settings.gradle с именем «rootProject.name», установленным как имя подпроектов?

+1

как вы выполняете индивидуальную задачу в своем подпроекте? Правильный способ сделать это - gradle: project: task –

+0

@RaviVasamsetty Сейчас я использую плагин eclipse gradle для их запуска. –

+0

Я использую плагин buildship gradle, и у него нет проблемы с запуском подпроекта. Какой плагин вы используете? –

ответ

1

Я думаю, что проблема связана с вашим файлом настроек.gradle.

Замените файл settings.gradle на код ниже.

rootProject.name = 'Project A' 

include 'SubProject B',':SubProject C',':SubProject D',':SubProject E' 
include ':SubProject Shared' 

Попробуйте запустить скрипт сборки «SubProjectC». Надеюсь, он сработает.

И ответьте на второй вопрос.

We don't need seperate settings.gradle for each subprojects. 
Смежные вопросы