Ошибка gradle: «Вы должны установить свойство aspectjVersion перед применением плагина aspectj» при использовании kotlin DSL - PullRequest
1 голос
/ 19 апреля 2019

Я хочу настроить плагин aspectJ в моем проекте gradle, который использует kotlin DSL.

Ниже приведен мой build.gradle.kts файл.

    val aspectjVersion = "1.9.3"

    plugins {
        java
        id("aspectj.gradle") version "0.1.6"
    }

    group = "java-agents-demo"
    version = "1.0-SNAPSHOT"

    repositories {
        mavenCentral()
        mavenLocal()
        jcenter()
    }

    dependencies {
        implementation("org.aspectj","aspectjrt", aspectjVersion)
        implementation("org.aspectj","aspectjweaver", aspectjVersion)
        testCompile("junit", "junit", "4.12")
    }

    configure<JavaPluginConvention> {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

Когда я запускаю compileJava проект Iget error «Вы должны установить свойство aspectjVersion перед применением плагина aspectj».

Я установил aspectjVersion в своем файле сборки, но я не знаю, в чем в нем ошибка.

Может кто-нибудь помочь мне правильно настроить плагин aspectJ для моего проекта?

1 Ответ

1 голос
/ 21 апреля 2019

Так val aspectjVersion = "1.9.3" определяет локальную переменную, но плагин ищет свойство проекта, обратите внимание, что это также означает, что плагин не может быть применен сразу, так как блок плагинов оценивается до остальной части build.gradle.kts (см. ограничения плагина DSL ), попробуйте вместо этого:

val aspectjVersion by extra("1.9.3")

plugins {
    java
    id("aspectj.gradle") version "0.1.6" apply false
}

apply(plugin = "aspectj.gradle")

Подробнее см. В документации Gradle по дополнительные свойства .

...