Sobes.tech
Junior

Gradle yoki Maven yordamida Kotlin loyihasini qanday sozlash mumkin?

sobes.tech AI

AIdan javob

IDE (Kotlin uchun IntelliJ IDEA afzalroq) yordamida yangi loyiha yarating va kerakli framework bilan Kotlin shablonini tanlang (masalan, Spring Boot yoki Ktor).

Gradle:

plugins {
    id 'org.jetbrains.kotlin.jvm' version '1.9.22' // Hozirgi Kotlin versiyasini ko'rsating
    id 'application' // Ixtiyoriy, bajariladigan JARlar uchun
}

group = 'com.example'
version = '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.jetbrains.kotlin:kotlin-stdlib'

    // Test uchun misol bog'lanishi
    testImplementation kotlin('test')
}

tasks.test {
    useJUnitPlatform()
}

kotlin {
    jvmToolchain(17) // JVM versiyasini ko'rsating, agar kerak bo'lsa
}
  • build.gradle.kts (yoki build.gradle) fayliga org.jetbrains.kotlin.jvm plaginini qo'shing.
  • Kotlin plaginining versiyasini aniqlang.
  • kotlin-stdlib bog'lanishini qo'shing.

Maven:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>my-kotlin-project</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <kotlin.version>1.9.22</kotlin.version> <!-- Hozirgi Kotlin versiyasini ko'rsating -->
        <maven.compiler.source>17</maven.compiler.source> <!-- JVM versiyasini ko'rsating -->
        <maven.compiler.target>17</maven.compiler.target> <!-- JVM versiyasini ko'rsating -->
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-stdlib</artifactId>
            <version>${kotlin.version}</version>
        </dependency>

        <!-- Test uchun misol bog'lanishi -->
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-test-junit</artifactId>
            <version>${kotlin.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
        <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>

        <plugins>
            <plugin>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-maven-plugin</artifactId>
                <version>${kotlin.version}</version>
                <executions>
                    <execution>
                        <id>compile</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>test-compile</id>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>test-compile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version> <!-- Hozirgi versiya ko'rsating -->
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
  • kotlin-stdlib bog'lanishini pom.xml fayliga qo'shing.
  • Kotlin kodini kompilyatsiya qilish uchun kotlin-maven-plugin plaginini qo'shing.
  • Kotlin manba kataloglarini sozlang.

Keyin, loyiha tanlangan bog'lanish boshqaruvchisiga mos ravishda sinxronlashtirilishi kerak.