Как добавить java-библиотеку в kotlin native

Поэтому я попытался создать приложение kotlin / native с помощью intellij (я выбрал шаблон kotlin-> kotlin / native при создании проекта). Он создал образец проекта gradle hello world. Который после загрузки всех зависимостей компилируется в exe-файл и работает нормально. Но теперь мне нужно включить библиотеки сомов, и я не могу понять, как это сделать. Для начала я просто хочу включить любую библиотеку jar (например, jackson-core). Вот так выглядит файл build.gradle:

plugins {
    id 'kotlin-multiplatform' version '1.3.0'
}
repositories {
    mavenCentral()
}

kotlin {
    targets {
        // For ARM, preset should be changed to presets.iosArm32 or presets.iosArm64
        // For Linux, preset should be changed to e.g. presets.linuxX64
        // For MacOS, preset should be changed to e.g. presets.macosX64
        fromPreset(presets.mingwX64, 'mingw')

        configure([mingw]) {
            // Comment to generate Kotlin/Native library (KLIB) instead of executable file:
            compilations.main.outputKinds('EXECUTABLE')
            // Change to specify fully qualified name of your application's entry point:
            compilations.main.entryPoint = 'sample.main'
        }
    }
    sourceSets {
        // Note: To enable common source sets please comment out 'kotlin.import.noCommonSourceSets' property
        // in gradle.properties file and re-import your project in IDE.

        mingwMain {
        }
        mingwTest {
        }
    }
}


task runProgram {
    def buildType = 'release' // Change to 'debug' to run application with debug symbols.
    dependsOn "link${buildType.capitalize()}ExecutableMingw"
    doLast {
        def programFile = kotlin.targets.mingw.compilations.main.getBinary('EXECUTABLE', buildType)
        exec {
            executable programFile
            args ''
        }
    }
}

Я пытался добавить

dependencies {
    implementation fileTree(dir: 'lib', include: ['*.jar'])
}

а также

dependencies {
    compile fileTree(dir: 'lib', include: ['*.jar'])
}

в каждом разделе, и это не помогает. Я все еще не могу импортировать ничего из пакета jackson, и это не отображается в разделе «внешние библиотеки» идеи. Я также попытался указать полное имя библиотеки и использовать что-то еще вместо реализации или компиляции - все равно безрезультатно. Что мне здесь не хватает?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
0
2 541
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Kotlin / Native не поддерживает библиотеки Java. Вам необходимо использовать многоплатформенную библиотеку (kotlinx.serialization) или собственную библиотеку, такую ​​как libjson.

Какие библиотеки доступны по умолчанию? Я просто хочу узнать текущее время. Должны быть какие-то библиотеки по умолчанию.

MiguelMunoz 03.08.2020 11:07

Теперь есть kotlinx-datetime для получения текущего времени github.com/Kotlin/kotlinx-datetime

Grég 15.10.2021 09:42

Другие вопросы по теме