Различные версии Java в подпроектах GradleJAVA

Программисты JAVA общаются здесь
Anonymous
Различные версии Java в подпроектах Gradle

Сообщение Anonymous »

Я сталкиваюсь с проблемой с Gradle, когда я пытаюсь создать проект, используя разные версии Java. Основной проект настроен на использование Java 21 в его файле Gradle: < /p>
java {
sourceCompatibility = JavaVersion.VERSION_21
}
< /code>
Теперь я создал модуль под названием «Модели». Этот модуль должен быть составлен в Java 11. Этот модуль включен в качестве зависимости в основном проекте, но также экспортируется как библиотека JAR, которую необходимо составить с Java 11. < /P>
Новая Модуль «модели» объявляет Java 11, как это: < /p>
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}

kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_11
}
}
< /code>
с различными конфигурациями Java я получаю следующую ошибку: < /p>

Не мог разрешить все зависимости для конфигурации ': runtimeclasspath '.
не может разрешить проект: модели. Требуется: root Project:
Нет соответствующего варианта проекта: модели были найдены. Потребитель был настроен на поиск библиотеки для использования во время выполнения, совместимой с Java 21, упакованной в виде банки, предпочтительно оптимизированной для стандартных JVM, и его зависимости, объявленных извне, а также атрибут 'org.jetbrains.kotlin.platform.type' с значением 'jvm', но: < /p>
< /blockquote>

Нет вариантов Существуют < /li>
< /ul>
Я не ожидал проблем несовместимости, используя более низкую версию Java в одном из моих модулей, но Gradle строго относится к версиям Java и требует той же Java Версия в корневом проекте и субпроект. Я хотел бы найти способ либо отключить это ограничение, либо как -то указать, что обе версии должны быть идеально совместимыми.

Подробнее здесь: https://stackoverflow.com/questions/794 ... ubprojects

Вернуться в «JAVA»