Привет, не нашёл нужного форума, напишу сюда, поскольку вопрос, скорее, про метавселенную Java.
Осваиваю Ktor, взял сгенерированный "hello world", и пытаюсь сначала настроить deployment. То есть, хочу это собрать как пакет для докера.
Читаю
доку, там написано "buildImage: builds a project's Docker image to a tarball"
Запускаю в командной строке
./gradlew buildImage
Получаю
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':setupJibLocal'.
> You're trying to build an image with JRE 19 while your project's JDK or 'java.targetCompatibility' is 20. Please use a higher version of an image JRE through the 'ktor.docker.jreVersion' extension in the build file, or set the 'java.targetCompatibility' property to a lower version.
Полез в gradle.build.kts, написал там
ktor {
docker {
jreVersion.set(JavaVersion.VERSION_20)
localImageName.set("my-server")
}
}
Но всё равно всё то же самое. Я бы хотел чтобы оно собиралось с JRE 20. Где это надо поменять, если не в build.gradle.kts?..
Здравствуйте, _const_, Вы писали:
__>Пальцем в небо предположу, что на машине, где идет сборка, по умолчанию стоит Java 19. Что возвращает java --version?
% java --version
openjdk 20.0.2.1 2023-08-22
OpenJDK Runtime Environment Corretto-20.0.2.10.1 (build 20.0.2.1+10-FR)
OpenJDK 64-Bit Server VM Corretto-20.0.2.10.1 (build 20.0.2.1+10-FR, mixed mode, sharing)
Но мне уже посоветовали сдаунгрейднуться до 19, буду пробовать.