Почему AspectJ не улавливает событие?JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Почему AspectJ не улавливает событие?

Сообщение Гость »

Я пытаюсь запустить простой пример кода AspectJ внутри проекта Gradle.
build.gradle:

Код: Выделить всё

plugins {
id 'java'
id "io.freefair.aspectj" version "5.1.1"
}

group = 'org.example'
version = '1.0-SNAPSHOT'

repositories {
mavenCentral()
}

sourceSets {
main {
java {
srcDirs = ['src/main/java', 'src/main/aspectj']
}
}

test {
java {
srcDirs = ['src/test/java']
}
}
}

dependencies {
testImplementation platform('org.junit:junit-bom:5.9.1')
testImplementation 'org.junit.jupiter:junit-jupiter'
testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.23.1'
testImplementation group: 'org.aspectj', name: 'aspectjweaver', version: '1.9.6'
implementation group: 'org.aspectj', name: 'aspectjweaver', version: '1.9.6'
implementation group: 'org.aspectj', name: 'aspectjrt', version: '1.9.6'
testImplementation group: 'org.aspectj', name: 'aspectjrt', version: '1.9.6'
testImplementation group: 'org.hamcrest', name: 'hamcrest', version: '2.2'
testImplementation 'junit:junit:4.13.1'
}

test {
useJUnitPlatform()
}
В папке src/main/aspectj класс org.example.aspectj.DemoAspect

Код: Выделить всё

package org.example.aspectj;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;

@Aspect
public class DemoAspect {
@Before("execution(* *(..)) && !within(org.example.aspectj.DemoAspect)")
public void logEnter(JoinPoint joinPoint) {
System.out.println("!!!!!!DemoAspect");
System.out.print(joinPoint.getStaticPart());
System.out.print(" -> ");
System.out.println(joinPoint.getSignature());
}
}
В папке src/main/java класс org.example.aspectj.Main

Код: Выделить всё

package org.example.aspectj;

import java.util.Date;

public class Main {
public static void main(String[] args) {
System.out.println("new Date() -> " + new Date());
}
}
Я запускаю класс Main. Код из DemoAspect не был вызван. Что не так в конфигурации?


Подробнее здесь: https://stackoverflow.com/questions/781 ... atch-event
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»