【Spring in Action 4】 【Bugs && Solutions】AspectJ与JDK 版本冲突问题

2 篇文章 0 订阅

原报错信息


这里只是截取核心报错信息,如下: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut
aused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut peforms
	at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:319)
	at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression

解决方案


方案一,按照网上主流解决方式,调整JDK包和AspectJ包的版本,

如果要使用AspectJ完成注解切面需要注意下面的JDK与AspectJ的匹配:
JDK1.6 —— aspectJ1.6
JDK1.7 —— aspectJ1.7.3+
具体的包,请去网络网上自行下载。这种方案对我无效,我调整了大半天,没用。那个美丽的绿色条条没出现。


方案二:修改代码逻辑,替换@Pointcut部分
 @Pointcut() 部分重写,具体的可以看我代码片段部分

	/*
	@Pointcut("execution(** com.bert.concert.interfaces.Performance.perform(..))")
	   public void performs() {}
	
	*/
	@Before("execution(** com.bert.concert.interfaces.Performance.perform(..)) ")
	public void silencePhone() {
		System.out.println("Please close off your cellphone .");
	}
	
	@Before("execution(** com.bert.concert.interfaces.Performance.perform(..))")
	public void takeSeat() {
		System.out.println("Please take a seat in five minutes.");
	}
	
	@AfterReturning("execution(** com.bert.concert.interfaces.Performance.perform(..))")
	public void applause() {
		System.out.println("Clap clap ...");
	}
	
	@AfterThrowing("execution(** com.bert.concert.interfaces.Performance.perform(..))")
	public void demandRefund() {
		System.out.println("It is too bad ...Ehh");
	}

欢迎持续关注我的博客,我会在某一篇博客公开自己阶段性总结的代码报错文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坏码农来福

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值