gradle kotlin dsl-如何为子项目配置依赖项

我正在为kotlin编程创建gradle多项目。

在主项目dependencies的{​​{1}}下创建subprojects时,出现错误找不到名称为“ implementation”的配置

下面是我的配置-

build.gradle.kts

一旦我将插件和依赖项移到子项目build.gradle.kts中,它就可以正常工作。 如何使 plugins { kotlin("jvm") version "1.3.61" apply false } subprojects { dependencies { val implementation by configurations implementation(kotlin("stdlib-jdk8")) } } 下的依赖关系正常工作?

代码位于github上。

abcd123abc123 回答:gradle kotlin dsl-如何为子项目配置依赖项

使用Kotlin dsl,您可以添加依赖项,只要您使用apply(plugin = "org.jetbrains.kotlin.jvm")apply(plugin = "java")

通常需要将dependencies { .. }放在subprojects { .. }中。

所以这是一个简单的b uild.gradle.kts ,它将在所有子项目中传播kotlin依赖项。

plugins {
    kotlin("jvm") version "1.3.50"
}

repositories {
    mavenCentral()
}

subprojects {
   apply(plugin = "org.jetbrains.kotlin.jvm")

   dependencies {
      implementation(kotlin("stdlib-jdk8"))
   } 

   tasks.withType<KotlinCompile> {
       kotlinOptions {
           freeCompilerArgs = listOf("-Xjsr305=strict")
           jvmTarget = "11"
       }
   }

}

(您仍然需要具有kotlin插件,但是一旦在根目录中定义,就无需在其他子项目中指定版本)

,

添加以下配置对我有用

        buildscript {
         repositories {
            maven {
            url = uri("https://plugins.gradle.org/m2/")
            }
         }
         dependencies {
            classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61")
         }
       }

      subprojects {
        apply(plugin = "java")
        apply(plugin = "org.jetbrains.kotlin.jvm")

        dependencies {
            val implementation by configurations
            implementation(kotlin("stdlib-jdk8"))
        }
    }
本文链接:https://www.f2er.com/2871479.html

大家都在问