2015-11-16 4 views
1

У меня есть проект корневого градиента и 10 подпроектов. Я хочу, чтобы 5 зависимостей указывались только в корневом проекте, без копирования их всех 10 модулей. Если я пишу:gradle 2.8 subproject dependencies - compile() not found

subprojects{ 
    dependencies{ 
    compile 'org.codehaus.groovy:groovy-all:2.3.11' 
    compile 'org.springframework:spring-core:4.1.2.RELEASE' 
    compile 'org.springframework:spring-context:4.1.2.RELEASE' 
    } 
} 

он говорит мне, что compile() метод не был найден. Как заставить его работать, поэтому я должен указать deps только в одном месте?

ответ

3

Вы прикладной Java плагин с:

allprojects { 
    apply plugin: 'java' 
} 

или:

subprojects { 
    apply plugin: 'java' 
} 

?

Пожалуйста, помните, что вам также необходимо добавить блок репозиториев. Это будет:

repositories { 
    mavenCentral() 
    jcenter() 
} 
+0

Отлично, спасибо! – avalon

1

Gradle Doc Ссылка: 8.2. Declaring your dependencies

Вы должны обернуть зависимости компилировать с dependencies ключевым словом, например, так:

subprojects { 
    dependencies { 
    compile 'org.codehaus.groovy:groovy-all:2.3.11' 
    compile 'org.springframework:spring-core:4.1.2.RELEASE' 
    compile 'org.springframework:spring-context:4.1.2.RELEASE' 
    } 
} 

Это относится и к вашим корневым только библиотекам.

+0

Спасибо, но извините, это именно то, что я сделал - я только что редактировал мой вопрос. Спасибо – avalon

Смежные вопросы