- Unified JVM toolchain to target Java 25 across all subprojects. - Applied consistent Kotlin compilation settings with support for JVM 25 target and enhanced compiler arguments. - Added technical reference document for Kotlin 2.3.0 and Java 25 compatibility guidelines.
2.3 KiB
2.3 KiB
Tech-Stack Referenz: Kotlin 2.3.0 & Java 25 (KMP)
1. Kern-Spezifikationen
| Komponente | Version | Status |
|---|---|---|
| Kotlin | 2.3.0 |
Stabil (K2 Compiler standardmäßig aktiv) |
| Java (JDK) | 25 |
LTS (Long-Term Support) |
| Gradle | 9.2+ |
Erforderlich für JDK 25 Support |
| Android Plugin (AGP) | 8.8.0+ |
Empfohlen für Gradle 9.x Kompatibilität |
2. Gradle Konfiguration (build.gradle.kts)
Für ein Kotlin Multiplatform (KMP) Projekt ist die Java Toolchain-Konfiguration entscheidend, um sicherzustellen, dass der Kotlin-Compiler und die JVM-Targets Java 25 korrekt ansprechen.
plugins {
kotlin("multiplatform") version "2.3.0"
id("com.android.library") version "8.8.0" // Falls Android Target genutzt wird
}
kotlin {
// Globale Toolchain-Definition für alle JVM/Android Targets
jvmToolchain {
languageVersion.set(JavaLanguageVersion.of(25))
}
jvm {
compilations.all {
compilerOptions.configure {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_25)
}
}
}
// Weitere Targets (Beispiel iOS)
iosArm64()
iosSimulatorArm64()
}
3. Gradle Wrapper Update
Damit das Projekt Java 25 erkennt, muss der Wrapper auf dem neuesten Stand sein:
Terminal-Befehl:
./gradlew wrapper --gradle-version 9.2 --distribution-type all
4. Wichtige Kompatibilitätshinweise für das Plugin
- IDE-Version: Stelle sicher, dass IntelliJ IDEA 2025.3 (oder neuer) installiert ist, da erst diese Version die volle Unterstützung für JDK 25 Sprachfeatures und das Kotlin 2.3.0 Plugin bietet.
- K2 Compiler: Kotlin 2.3.0 nutzt den K2-Compiler. Falls das Google AI Pro Plugin Code-Analysen durchführt, sollte es auf dem K2-Modus basieren.
- Bytecode: Java 25 Bytecode wird nur generiert, wenn das
jvmTargetexplizit auf25gesetzt ist. Andernfalls verbleibt Kotlin standardmäßig bei einer niedrigeren Version (meist 1.8 oder 11), was die neuen JDK-Features einschränken könnte.
5. Bekannte Features in diesem Setup
- Java 25 Features: Unterstützung für die finalen Versionen von Scoped Values und Structured Concurrency.
- Kotlin 2.3.0 Features: Nutzung von
explicit backing fieldsund dem verbessertenunused return valueChecker.