Как и Maven, Gradle использует main
для производственных источников.Они обычно определяются в src/main/java
для Java, и test
включает их так же, как включает в себя compile
зависимости наряду с testCompile
.
Существует причина, по которой src
сопровождается именованной конфигурацией, а затем язык: в вашей настройке вы не предоставляете место для тестовых ресурсов, которые очень распространены, и вы делаете более трудоемким включение в проект других языков JVM, таких как Kotlin или Scala.Возможно, они вам не нужны, но редко бывают веские причины сильно отклоняться от отраслевого стандарта.
В любом случае вы не переместили main
в другое место, вы ввели новый источникустановите source
в дополнение к main
(фактически сохраняя main там, где они были изначально).Если вы просто указали новый srcDir
для main
вместо введения source
(как вы это делали для теста), вам не нужно расширять compileClasspath
, и ваши основные источники будут найдены в тесте.
Если вы действительно хотите придерживаться source
вместо использования main
в новом месте, в test
вы должны добавить source
compileClasspath
и output
в путь к классам для теста:
compileClasspath += sourceSets.source.compileClasspath + source.output + [whatever else you want to add]
Но, ну, это плохой выбор.