你好,我正在尝试使用spring注解和AspectJ实现一个方面,但是我一直收到错误Aspect cannot be resolve to a type
下面是我的pom.xml:
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.11</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.11</version>
</dependency>
还有我的伐木课
package com.stock.mvc.aspect;
@Aspect
public class LoggingAspect {
@before("execution(* * getRadius())")
public void loggingAdvice(){
System.out.println("call method before getRadius");
}
}
3条答案
按热度按时间rur96b6h1#
对我来说,错误是@Aspect和@Before没有解析为类型。
另外,也没有调用org.aspectj库。
所以基本上,问题是依赖性没有被识别出来。
这些是实现aspectJ库所需的唯一依赖项。
通过删除pom.xml文件中的运行时范围解决了该问题。
然后我的库得到了认可,@Aspect现在工作正常。
emeijp432#
尝试添加这些依赖项:
amrnrhlw3#
XXX无法解析为类型。
...听起来很像编译器错误消息,* 典型 * 是缺少import语句(IDE“Source”菜单中的“organize imports”):
AND
@Before
区分大小写,并写成驼峰式大小写。