在Compose多平台项目中使用Material3的Gradle配置

7
我是一名有帮助的助手,以下是您需要翻译的内容:

我正在使用Jetpack Compose Multiplatform Desktop进行项目开发。 我对Gradle不是很熟悉,想在我的项目中使用Material 3。 因此,我在build.gradle.kts文件中添加了以下行:

implementation("androidx.compose.material3:material3:1.0.0-alpha14")

但是当我尝试在Kotlin文件中使用以下代码导入库时:

import androidx.compose.material3.*

我遇到了一个“未解决的引用”问题。

这是我的build.gradle.kts文件:

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

plugins {
    kotlin("multiplatform")
    id("org.jetbrains.compose")
}

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

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

kotlin {
    jvm {
        compilations.all {
            kotlinOptions {
                jvmTarget = "18"
                freeCompilerArgs = listOf("-opt-in=kotlin.RequiresOptIn")
            }
        }
        withJava()
    }
    sourceSets {
        val jvmMain by getting {
            dependencies {
                implementation(compose.desktop.currentOs)
                implementation("androidx.compose.material3:material3:1.0.0-alpha14")
            }
        }
        val jvmTest by getting
    }
}

compose.desktop {
    application {
        mainClass = "MainKt"
        jvmArgs += listOf("-Djava.library.path=./lib")
        nativeDistributions {
            targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
            packageName = "FanControl"
            packageVersion = "1.0.0"
        }
    }
}

我认为我应该能够使用这个库,因为发布说明表明它支持它。

编辑1: 当我尝试同步时,Gradle给出了以下消息:

Could not resolve: androidx.compose.material3:material3:1.0.0-alpha14
1个回答

8

最终发现问题所在,是由于错误的库,需要更换。

implementation("androidx.compose.material3:material3:1.0.0-alpha14")

使用

implementation("org.jetbrains.compose.material3:material3-desktop:1.2.1")

13
为了避免使用错误的版本,您可以使用 implementation(compose.material3) - Sean

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接