【问题标题】:How to set "-aspectpath" for the FreeFair AspectJ Gradle Plugin?如何为 FreeFair AspectJ Gradle 插件设置“-aspectpath”?
【发布时间】:2019-05-20 13:20:47
【问题描述】:

我正在尝试使用库中的 AspectJ 注释,我正在将其拉入我的项目中。我的项目使用 Gradle,所以我尝试使用 FreeFair AspectJ Gradle Plugin

我需要能够将 AspectJ -aspectpath 参数设置为 Gradle 引入的库依赖项。

FreeFair,好像没有多少Documentation,主要是Sample Code

在他们的示例代码中,我看到我可以使用它来将 -aspectpath 设置为本地“项目”:

aspect project(":aspectj:aspect")

有谁知道如何将 -aspectpath 设置为外部库依赖项?

我创建了一个示例项目并将其放在 GitHub 上:freefair-aspectpath-external-library

  • 注意:我正在使用 io.freefair.gradle:aspectj-plugin 版本 2.9.5 因为我的项目使用 Gradle 版本 卡住了4.10.3.


更新:我为此创建了一个错误:https://github.com/freefair/gradle-plugins/issues/46

【问题讨论】:

  • 您是否尝试过在 GitHub 网站上提出问题并直接询问作者?
  • GitHub 票证不仅与错误有关,还可能与文档问题有关。而且那个插件肯定有一些严重的文档问题。 ;-)

标签: java gradle build.gradle aspectj gradle-plugin


【解决方案1】:

感谢@larsgrefer,他在 GitHub 问题 (46) 中提供了答案。

对于 io.freefair.aspectj.compile-time-weaving 插件 2.9.5,配置被命名为“aspects”而不是“aspect”。

以下解决了该问题:

aspects project(":aspectj:aspect")

完整的构建文件类似于:

buildscript {
    repositories {
        maven { url "https://plugins.gradle.org/m2/" }
    }
    dependencies {
        // 2.9.5 for use with Gradle 4.10.3.
        classpath "io.freefair.gradle:aspectj-plugin:2.9.5"
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'

apply plugin: "io.freefair.aspectj.compile-time-weaving"
aspectj.version = '1.9.3'

group 'xyz.swatt'
version '1.0.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {

    ///// SWATT ///// https://mvnrepository.com/artifact/xyz.swatt/swatt
    compile group: 'xyz.swatt', name: 'swatt', version: '1.12.0'
    aspect "xyz.swatt:swatt:1.12.0"
}

【讨论】:

    【解决方案2】:

    aspect 是一个普通的旧 gradle 配置。

    这意味着您可以使用此处描述的所有符号:

    dependencies {
        aspect project(":my-aspect")
        aspect "com.example.foo:bar-aspect:1.0.0"
        aspect file("foo.jar")
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多