AOP: java.lang.IllegalArgumentException: Fehler bei :: 0 kann den referenzierten Punktcut nicht finden

8

Ich bin neu bei AOP. Ich habe ein Problem wie dieses.

%Vor%

bei der Verwendung von pointcut, die Methode allGetters () zu LoginAdvice-Methode, wenn ich @Before ("Ausführung (* get * ())") dann kein Fehler, aber wenn ich @Before ("allGetters ()") dann verwenden gibt den Fehler "java.lang.IllegalArgumentException: error at :: 0 kann den referenzierten pointcut allGetters nicht finden

wenn ich @Before ("Ausführung (* get * ()) & amp; & amp; innerhalb (org.suman.Model.Circle)") anstelle von Methodenname funktioniert.

Mein xml gefällt mir so:

%Vor%

Bitte lösen Sie das Problem mit dem Punkt, nach dem die Methode

verwendet wird     
user1379705 07.05.2012, 13:00
quelle

8 Antworten

22

Ich hatte dieses Problem - die Verwendung von @Pointcut für eine 'Platzhalter' -Methode gab mir den Fehler "Kann nicht gefundene Punkte finden".

Gelöst, indem einfach die AspectJ-Bibliotheken mit den maven-Abhängigkeiten aktualisiert werden:

%Vor%

zu diesem

%Vor%     
Forge_7 27.09.2012 20:46
quelle
3

Ich habe das gleiche Problem gelöst. Sobald ich das aspectjweaver durch die aspectjweaver-1.6.11.M2.jar Version ersetze. Alles hat reibungslos funktioniert.

    
Kiran 29.01.2013 00:44
quelle
1

Das Problem kann auch durch Ausführen einer Early Access-Version von JDK9 verursacht werden.

Maven bevorzugt möglicherweise eine neuere Version von Java über die JVM in PATH .

In meinem Fall starte ich Spring mit Swagger2 über Maven auf Ubuntu 15.04, und ich habe java-8-oracle und java-9-oracle (und ein paar mehr Versionen) installiert. Mein java -version , abgeleitet von PATH , sagt 1.8.0_72 , aber wenn ich Maven starte und /usr/bin/mvn in echo JAVA_HOME ändere, wird /usr/lib/jvm/java-9-oracle ausgewählt.

Exportieren von JAVA_HOME in /usr/lib/jvm/java-8-oracle Maven verwendet die gewünschte Version von Java, und das hat die Probleme mit AOP-Weben von Pointcuts für Spring's Abhängigkeitsinjektionsverkabelung beseitigt.

    
Christian Hujer 27.01.2016 17:41
quelle
0

Ich glaube, du musst einen weiteren Platzhalter vor:

setzen %Vor%

ändere es zu:

%Vor%     
El Guapo 07.05.2012 13:07
quelle
0

Sie sollten die Version von aspectJWeaver auf 1.6.x

ändern     
Ahmed Azraq 04.08.2012 19:26
quelle
0

Ich hatte dieses Problem, weil das Projekt in Java 1.6 kompiliert wurde, aber der Tomcat-Server in Java 8 gestartet wurde.

    
Feng Zhang 22.05.2017 17:55
quelle
0

Ich habe auch ein ähnliches Problem mit dem @Before-Hinweis, der den @Pointcut-Methodennamen nicht als Argument akzeptiert. Ich habe dies behoben, indem ich die Version der Abhängigkeiten in:

änderte %Vor%

Es funktioniert jetzt gut für mich.

    
Anks 24.01.2018 09:31
quelle
-1

Ändere die Version von aspectjeaver auf die neueste Version und stelle sie bereit ...

    
lokesh 03.08.2012 08:43
quelle

Tags und Links