2015-10-24 2 views
2

У меня есть модуль градиента, называемый «Сервис» и модуль под названием ProtocolLibrary, созданный Idea. Как добавить модуль библиотеки в мой основной модуль?Как добавить модуль Idea в зависимости от градиента

Я судимый просто добавить источник директории для проекта:

main { 
    java.srcDirs  = ['src/main/java', '../ProtocolLibrary/src'] 
    resources.srcDirs = ['src/main/resources'] 
} 

Но doen't работы:

Error:Can't register given path of type 'SOURCE' because it's out of content root. 

ответ

1

Если вы хотите, чтобы объединить два отдельных Gradle проектов вместе, то вы должны посмотрите на град multi-project builds. Вам нужно будет создать корневой проект, который будет включать в себя как ваши модули в качестве подпроектов и в этом случае, вы можете просто использовать один проект, как зависимость от другого, как:

//service project dependencies 
dependencies { 
    compile project(':ProtocolLibrary') 
    ... 
} 

После этого, нет причина включения источников из одного проекта в другой.

Второй подход - использовать артефакт, сгенерированный протокольной библиотекой. Вы можете сделать зависимость в проекте службы, определяя банку в файловой системе, или ваша библиотека протоколов может быть опубликована в вашем реестре maven и использоваться как обычная зависимость.

+0

Я не упоминал об этом (извините), но у меня есть 3 модуля, которые нужно строить отдельно (и все они зависят от модуля ProtocolLibrary). Есть ли способ настроить 3 модуля для сборки с другой конфигурацией и как различные артефакты, но чтобы зависеть от библиотечного модуля? – user3400841

+0

@ user3400841 Вы можете создавать субпроекты отдельно с различными конфигурациями и артефактами. Но эти подпроекты могут полагаться друг на друга артефактом. Просто прочтите руководство пользователя для этого. – Stanislav

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