Kotlin DSLはJavaの仕様を設定するとGradleのコンパイルエラー

Fttegmer:

私は時々 Javaソースが含まれますKotlinプロジェクトのビルドファイルを作成しようとしています。マルチプロジェクトのビルドでのGroovyベースのビルドファイルと過去には、私は指定できsourceCompatibilitysubprojectいない問題でブロック。Kotlin DSLで、私はそれがでなければなりません知っているjavaKotlin DSLてconfigureにブロックが、私はそれを行うからしようとしたときsubproject、私のルートでブロックbuild.gradle.ktsファイル私はコンパイルエラーが出ます:

Script compilation errors:

Line 14:     java {
           ^ Expression 'java' cannot be invoked as a function. The function 'invoke()' is not found

Line 14:     java {
           ^ Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
               public val PluginDependenciesSpec.java: PluginDependencySpec defined in org.gradle.kotlin.dsl

Line 15:         sourceCompatibility = JavaVersion.VERSION_1_8
               ^ Unresolved reference: sourceCompatibility

3 errors

私は含まれてきた要点を私が使用しているGradleのビルドファイルに。今、私はサブプロジェクトのの一つにJavaのブロックを指定した場合、私はそれが働いて得ることができますbuild.gradle.ktsファイルが、私は設定がないだけで、特定のプロジェクト、サブプロジェクトのすべてに適用します。

JB Nizet:

あなただけ使用することができます

configure<JavaPluginExtension> { ... }

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=201686&siteId=1