2016-02-18 2 views
-1

В моем проекте у меня есть 6 подпроектов, все из которых зависят друг от друга.CircularReferenceException при разрешении подпроектов зависит от других подпроектов

subprojects { 
    apply plugin: 'java' 

    repositories { 
     mavenCentral() 
    } 

    dependencies { 
     compile project(":common") 
     compile project(":def") 
     compile project(":fs") 
     compile project(":game") 
     compile project(":network") 
     compile project(":parser") 

     ... remainder omitted 
    } 

} 

При объявлении зависимостей, как это в моих основных проектах build.gradle файла я получаю ошибку круговой зависимости.

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

Есть ли что-то, что мне не хватает?

+0

Если A зависит от B, B не может зависеть от A. Тогда что вы делаете неправильно, –

+0

Не может ли это работать наоборот, как я мог бы сделать это в модуле Maven? @GabrieleMariotti – rmcmk

+0

Это не проблема градиента. Вы не можете реализовать подобную зависимость –

ответ

1

Вы пытаетесь понять, как это somenthing:

Рго A:

dependencies { 
     compile project(":B) 
     compile project(":C") 
} 

Рго B:

dependencies { 
     compile project(":A) 
     compile project(":C") 
} 

Proj C:

dependencies { 
     compile project(":B) 
     compile project(":A") 
} 

Это CircularReference.
Если A зависит от B, B не может зависеть от А.

Вы не можете это сделать.

+0

Хорошо, это имеет смысл. Есть ли способ, чтобы подпроекты зависели друг от друга, как я мог бы сделать это в модуле Maven? – rmcmk

+0

Конечно, подпроект может иметь зависимость от другого проекта. Также вы можете определить общую зависимость. Это выглядит вот так: https://docs.gradle.org/current/userguide/multi_project_builds.html –

+0

Спасибо, что у меня все получилось. – rmcmk