我想在我的使用kotlin DSL的gradle项目中配置aspectJ插件。
下面是我的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
项目时,出现错误"在应用 aspectj 插件之前,您必须设置属性'aspectjVersion'"。
我在构建文件中设置了aspectjVersion
,但我不知道其中的错误是什么。
任何人都可以帮助我以正确的方式为我的项目设置 aspectJ 插件吗?
您还可以在gradle.properties
文件中定义aspectjVersion=1.9.5
,因为它是在插件之前加载的。 这也适用于 Gradle 7 兼容性。
所以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 文档中有关其他属性的信息。