在我的Kotlin项目中配置AspectJ时遇到了问题.我正在使用FreeFair插件,但它似乎不起作用.我开始申请时没有任何问题,但没有考虑到这些方面.
我将方面放在文件MetricAspect.kt中的src/main/AspectJ源目录中
我现在拥有的是一个gradle.Build.kts文件,如下所示:
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
//other plugins
id("io.freefair.aspectj") version "6.6.3"
val kotlinVersion = "1.7.21"
kotlin("jvm") version kotlinVersion
kotlin("plugin.spring") version kotlinVersion
//other plugins
}
allprojects {
apply(plugin = "org.jetbrains.kotlin.jvm")
apply(plugin = "io.gitlab.arturbosch.detekt")
apply(plugin = "com.diffplug.spotless")
apply(plugin = "io.freefair.aspectj")
apply(plugin = "kotlin-spring")
version = "1.0.0-SNAPSHOT"
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
repositories {
maven {
url = uri("https://private.repo/public-maven-virtual/")
credentials {
username = user
password = password
}
}
}
dependencies {
kotlinCompilerPluginClasspath("gradle.plugin.aspectj:gradle-aspectj:0.1.6")
//other deps
implementation("org.aspectj:aspectjrt:1.9.7")
annotationProcessor("org.aspectj:aspectjtools:1.9.7")
//other deps
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "17"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
spotless {
//....
}
detekt {
buildUponDefaultConfig = true // preconfigure defaults
allRules = false // activate all available (even unstable) rules.
parallel = true
config = files("$rootDir/detekt.yml")
}
}
tasks {
bootJar {
enabled = false
}
}
关于它的文档非常稀少,每个人似乎都有自己的一种方法来配置这个插件,这很奇怪.有什么官方方法可以做到这一点吗?