gpt4 book ai didi

java - AspectJ + Gradle 配置

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:06:08 25 4
gpt4 key购买 nike

我想在 Gradle 项目中使用 AspectJ(它不是 Android 项目 - 只是一个简单的 Java 应用程序)。

这是我的 build.gradle 的样子:

apply plugin: 'java'

buildscript {
repositories {
maven {
url "https://maven.eveoh.nl/content/repositories/releases"
}
}
dependencies {
classpath "nl.eveoh:gradle-aspectj:1.6"
}
}

repositories {
mavenCentral()
}

project.ext {
aspectjVersion = "1.8.2"
}

apply plugin: 'aspectj'

dependencies {
//aspectj dependencies
aspectpath "org.aspectj:aspectjtools:${aspectjVersion}"
compile "org.aspectj:aspectjrt:${aspectjVersion}"
}

代码可以编译,但是方面似乎没有编织。有什么问题吗?

最佳答案

我已经为此苦苦挣扎了一段时间,所以这是我使用的配置并且运行良好。

在您的配置中执行此操作。

configurations {
ajc
aspects
aspectCompile
compile{
extendsFrom aspects
}
}

在您的依赖项中使用以下配置。如果您不使用 spring fwk,则不需要 Spring 依赖项。

dependencies {

//Dependencies required for aspect compilation
ajc "org.aspectj:aspectjtools:$aspectjVersion"
aspects "org.springframework:spring-aspects:$springVersion"
aspectCompile "org.springframework:spring-tx:$springVersion"
aspectCompile "org.springframework:spring-orm:$springVersion"
aspectCompile "org.hibernate.javax.persistence:hibernate-jpa-2.1-api:$hibernateJpaVersion"

}

compileJava {
sourceCompatibility="1.7"
targetCompatibility="1.7"
//The following two lines are useful if you have queryDSL if not ignore
dependsOn generateQueryDSL
source generateQueryDSL.destinationDir

dependsOn configurations.ajc.getTaskDependencyFromProjectDependency(true, "compileJava")

doLast{
ant.taskdef( resource:"org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", classpath: configurations.ajc.asPath)
ant.iajc(source:"1.7", target:"1.7", destDir:sourceSets.main.output.classesDir.absolutePath, maxmem:"512m", fork:"true",
aspectPath:configurations.aspects.asPath,
sourceRootCopyFilter:"**/.svn/*,**/*.java",classpath:configurations.compile.asPath){
sourceroots{
sourceSets.main.java.srcDirs.each{
pathelement(location:it.absolutePath)
}
}
}
}
}

我不使用插件我使用 ant 和 aspectj 编译器来做到这一点,可能会有一个简单的方法

关于java - AspectJ + Gradle 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32949541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com