После объяснения в "Building and Testing with Gradle" у меня есть Мультипроекта Gradle установка, как это:Зависимости подпроекта не может быть разрешены для зависимого проекта (но разрешается при строительстве самого подпроекта)
rootFolder
build.gradle
settings.gradle
EMS
build.gradle
cloud-sdk
build.gradle
Проект cloud-sdk
зависит от нескольких банок , частично решено с помощью мавенно частично с помощью локали банки:
// file: cloud-sdk/build.gradle
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile group:'org.apache.tomcat', name:'tomcat-catalina', version:'7.0.47'
compile group:'org.mongodb', name:'mongo-java-driver', version:'2.11.3'
compile group:'com.google.code.gson', name:'gson', version:'2.2.4'
compile group:'com.thoughtworks.xstream', name:'xstream', version:'1.4.6'
compile fileTree(dir:'lib/', include:'JavaPNS_2.2.jar')
compile fileTree(dir:'lib/', include:'gcm-server.jar')
}
EMS
-project зависит от облачной SDK, который я думаю должно быть определен следующим образом:
// file: EMS/build.gradle
apply plugin: 'java'
dependencies {
compile project(':cloud-sdk')
}
Кроме того, мой корень build.gradle и settings.gradle файлы выглядеть следующим образом:
settings.gradle
include 'cloud-sdk', 'EMS'
build.gradle
apply plugin: 'java'
dependencies {
compile project(':EMS')
}
В этом случае Я не уверен, нужна ли мне также зависимость compile project (':cloud-sdk')
. Я пробовал обе версии, но так как я получаю то же сообщение об ошибке в обоих случаях, я предполагаю, что это не имеет значения.
Когда я пытаюсь запустить скрипт из RootFolder через gradle build
я получаю следующие сообщения об ошибках:
Could not resolve all dependencies for configuration ':EMS:compile'.
> Could not find org.apache.tomcat:tomcat-catalina:7.0.47.
Required by:
rootFolder:EMS:unspecified > rootFolder:cloud-sdk:unspecified
> Could not find org.mongodb:mongo-java-driver:2.11.3.
Required by:
rootFolder:EMS > rootFolder:cloud-sdk:unspecified
> Could not find com.google.code.gson:gson:2.2.4.
Required by:
rootFolder:EMS > rootFolder:cloud-sdk:unspecified
> Could not find com.thoughtworks.xstream:xstream:1.4.6.
Required by:
rootFolder:EMS:unspecified > rootFolder:cloud-sdk:unspecified
Но когда я просто построить проект облака SDk через gradle cloud-sdk:build
Gradle загружает необходимые банки и строит проект без проблем.
Но даже если я попробую gradle build
, хотя град отмечает, что проект cloud-sdk
уже обновлен, он жалуется на недостающие зависимости.
Почему? Он уже загрузил их, чтобы они были доступны где-то, и даже если не cloud-sdk
знает, что ему нужно, и как его получить. Что мне не хватает? Нужно ли мне указывать зависимости каким-то другим способом?
Что вы вложили в раздел хранилищ проекта EMS? – confile
Я просто скопировал его из проекта 'cloud-sdk':' repositories {mavenCentral()} ' –
Я тоже забыл. благодаря – Ethan