Добавление проектных зависимостей в многопроектную рабочую область Buildship
У меня есть два проекта, client
а также shared
, Оба являются проектами Buildship и имеют внешние зависимости, определенные и работающие. Вот мой мульти-проект установки:
workspace/
shared/
build.gradle
client/
build.gradle
settings.gradle
workspace/settings.gradle
:
rootProject.name = 'workspace'
include 'client'
include 'shared'
Теперь я хочу отсортировать межпроектные зависимости. client
зависит от скомпилированных артефактов из shared
, Итак, согласно 25.4.3. Зависимости проекта, я думаю, что я добавляю следующее к client
s build.gradle
:
compile project(':shared')
Однако я не могу скомпилировать в Eclipse. Если я обновлю client
Проект, который я получаю:
Возникла проблема при оценке корневого проекта "клиент". Проект с путем ': общий доступ' не найден в корневом проекте 'клиент'.
Как будто он не распознает его как многопроектную сборку...
Я понял что gradle init
сгенерировал settings.gradle
файл внутри двух дочерних проектов. Поэтому я удалил эти файлы, но затем я получаю другую ошибку при обновлении любого дочернего проекта (и проект становится полностью непригодным для использования):
При условии, что проект затмения не является корневым проектом
Как заставить эти два проекта работать вместе, и, надеюсь, просто определить это один раз?
1 ответ
Благодаря помощи здесь следующее должно это исправить:
- Удалить
client
а такжеshared
проекты из Eclipse, оставьте файлы нетронутыми в файловой системе - Переместить корневую папку с помощью
client
а такжеshared
внутри другой папки, поэтому корневая папка также не является корнем рабочей области Eclipse - Выполните импорт Gradle внутри Eclipse для корневой папки
Это исправило это для меня - межпроектные зависимости были тогда решены.