IntelliJ / Gradle - составной проект сборки - как импортировать из другого модуля? - PullRequest
2 голосов
/ 30 апреля 2019

Я новичок в Java и в настоящее время пытаюсь построить проект огурца / селена в IntelliJ, который содержит два модуля: проект библиотеки, содержащий определения страниц, и тестовый проект, который содержит функции огурца и определения шагов, которые говорят с ними. определения страниц. Идея состоит в том, что определения страниц являются общим ресурсом, а тесты специфичны для разных проектов / групп. Оба модуля находятся на одном уровне под родительским проектом. В сборке используется Gradle, а файл settings.gradle для родителя выглядит следующим образом:

rootProject.name = 'composite-builds'
includeBuild 'libraryproject'
includeBuild 'testproject'

Использование Gradle includeBuild в родительском проекте работает нормально, и весь проект импортируется. Однако мне не повезло, используя проект библиотеки в моих утверждениях импорта в тестовом проекте. Он последовательно возвращает мне такие ошибки: java: package libraryproject.pageFactory.examplePages does not exist и явно не видит библиотечный модуль.

Что мне нужно сделать / добавить, чтобы тестовый проект распознал проект библиотеки? Я также попытался добавить оператор includeBuild в settings.gradle для тестового проекта, но это ничего не изменило.

Библиотеку можно найти здесь

Обновление: настоящая причина, по которой я не вижу модули из библиотечного проекта, заключается в том, что они хранятся в тестовой папке, а не в основной.

1 Ответ

3 голосов
/ 30 апреля 2019

Перейдите в build.gradle файл

Вместо includeBuild используйте зависимости {compile {project (': libraryproject')}}

Внутри корневого проекта библиотечного проекта, который в вашем случае является составной сборкой.Измените includeBuild на include в settings.gradle

rootProject.name = 'composite-builds'
include ':libraryproject'
include ':testproject'

Если он находится в том же корне:

dependencies {
    compile(
        project(':libraryproject')
    )
}

Подпапка:

dependencies {
    compile(
        project(':myFolder1:myFolder2:libraryproject')
    )
}

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