如何应用dagger 2来编写桌面项目

问题描述 投票:0回答:1

我使用 IJ Idea(单一桌面平台)创建了一个新的 Compose Multiplatform 项目。

尝试将匕首添加到

build.gradle.kts
模板:

import org.jetbrains.compose.desktop.application.dsl.TargetFormat

plugins {
    kotlin("multiplatform")
    id("org.jetbrains.compose")
    kotlin("kapt") version "1.8.0" //Add kapt-plugin --OK
}

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

repositories {
    google()
    mavenCentral()
    maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}

kotlin {
    jvm {
        jvmToolchain(11)
        withJava()
    }
    sourceSets {
        val jvmMain by getting {
            dependencies {
                implementation(compose.desktop.currentOs)
                implementation("com.google.dagger:dagger:2.45") //add dependency --OK
                kapt("com.google.dagger:dagger-compiler:2.45") //add compiler for kapt --NOT-OK
            }
        }
        val jvmTest by getting
    }
}

...

出现有关类型不匹配的设计时错误(需要操作,找到字符串)。 将 dagger2 应用于 IJ Idea 生成的

build.gradle
模板的正确方法是什么?

kotlin build.gradle dagger-2 compose-desktop
1个回答
-4
投票

我想我在这里找到了与您的问题相关的内容https://slack-chats.kotlinlang.org/t/519730/do-you-use-dependency-injection-library-for-your-desktop-app

作为本次讨论的一部分,建议使用 Koin 作为 Dagger2 的替代品,以便在开发 KMP 应用程序时使用 di。因为 Dagger 是用 Java 编写的,而 Koin 是用 Kotlin 编写的。

© www.soinside.com 2019 - 2024. All rights reserved.