Gradle отлично работает с новой Java, но отсутствует родственный проект на Java 11

#java #gradle #java-11 #java-17

Вопрос:

У меня есть проект загрузки Java Spring, который зависит от мультиплатформенной библиотеки Kotlin.

В каталоге верхнего уровня у меня есть settings.gradle файл, состоящий из:

 rootProject.name = 'redacted-project-name'
include 'server'
include 'rules'
 

и нет build.gradle .

server/build.gradle зависит от правил, поэтому он включает:

 //Other tasks

dependencies {
    implementation project(':rules')

    //More dependencies and tasks
 

Тестируя это на Java 17.0.1, код работает так, как ожидалось: server извлекает rules и использует логику в нем. То же самое на Java 15.0.3.

К сожалению, когда я пытаюсь запустить свои тесты (или мой сервер) с использованием Java 11.0.12, они завершаются неудачей с java.lang.ClassNotFoundException жалобой на то, что классы из rules недоступны.

Я также столкнулся с той же проблемой в GitHub runners:
он работает на Java 17.0.0 35: https://github.com/kontaras/LegendaryStats/runs/3922058132?check_suite_focus=true
и сбой на Java 11.0.11 9: https://github.com/kontaras/LegendaryStats/runs/3922058234?check_suite_focus=true

В случае, если это имеет значение, все это происходит в Gradle 7.2