Странная проблема Gradle в мультипроектной сборке - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть мультипроектная (Java) сборка Gradle.Структура моего решения выглядит следующим образом:

---Root
-----Common
-----Project1
-----Project2

Common, Project1 и Project2 являются подпроектами Root.И Project1, и Project2 зависят от общего.В gradle.build проектов 1 и 2 я определяю эту зависимость следующим образом:

compile project(":common")

До сегодняшнего дня все работало нормально.Я смог построить любой из проектов без каких-либо проблем.

Сегодня я изменил сигнатуру одного из методов в Common (и успешно его собрал).

Во-первых, когда я попытался скомпилировать Project1 или Project2, я начал получать ошибку компиляции "ожидал иметь интерфейс со [старой подписью], вместо этого имел [новую подпись]" .

Похоже, что Project1 & Project2 не получили обновленную версию Common, несмотря на объявленную зависимость.

Затем я выполнил «чистую» задачу для всех проектов.

Начиная с этого момента, как Project1, так и Project2 не удалось собрать с ошибкой "невозможно разрешить символы [class from Common]" .

Очевидно, что Project1 и Project2 не получают правильную общую зависимость.Я не знаю, что произошло ... Что более странно, это то, что IntelliJ показывает, что он распознает классы из Common (импорт не выделен серым цветом, никаких красных линий или каких-либо ошибок).Но сборка Gradle не удалась.Сбой также происходит, если я запускаю его непосредственно из командной строки.

Я пытался удалить кеш Gradle (из папки .gradle), также очищенный кеш от IntelliJ.Ничего не помогает.

Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...