Добавление проектных зависимостей в многопроектную рабочую область 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 ответ

Благодаря помощи здесь следующее должно это исправить:

  1. Удалить client а также shared проекты из Eclipse, оставьте файлы нетронутыми в файловой системе
  2. Переместить корневую папку с помощью client а также shared внутри другой папки, поэтому корневая папка также не является корнем рабочей области Eclipse
  3. Выполните импорт Gradle внутри Eclipse для корневой папки

Это исправило это для меня - межпроектные зависимости были тогда решены.

Другие вопросы по тегам