解决Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut

古城微笑少年丶 2022-02-05 02:01 263阅读 0赞

今天在整合Spring和Aspectj的时候报了如下的错误:

  1. 五月 04, 2019 1:41:40 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
  2. 信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@48cf768c: startup date [Sat May 04 13:41:40 GMT+08:00 2019]; root of context hierarchy
  3. 五月 04, 2019 1:41:40 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
  4. 信息: Loading XML bean definitions from class path resource [aspectj2.xml]
  5. 五月 04, 2019 1:41:41 下午 org.springframework.context.support.ClassPathXmlApplicationContext refresh
  6. 警告: Exception encountered during context initialization - cancelling refresh attempt
  7. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceId' defined in file [C:\Users\c\Desktop\Spring-Learning\spring-study\target\classes\com\cc\study\aspectj\annotation\UserServiceImpl.class]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut myPointCut
  8. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
  9. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
  10. at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305)
  11. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
  12. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
  13. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)
  14. at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
  15. at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:834)
  16. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)
  17. at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
  18. at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
  19. at com.cc.study.aspectj.annotation.TestProxy.demo01(TestProxy.java:11)
  20. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  21. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  22. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  23. at java.lang.reflect.Method.invoke(Method.java:498)
  24. at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
  25. at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
  26. at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
  27. at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
  28. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
  29. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
  30. at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
  31. at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
  32. at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
  33. at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
  34. at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
  35. at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
  36. at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
  37. at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)
  38. at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
  39. at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262)
  40. at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
  41. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  42. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  43. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  44. at java.lang.reflect.Method.invoke(Method.java:498)
  45. at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
  46. Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut myPointCut
  47. at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:315)
  48. at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:207)
  49. at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:193)
  50. at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:170)
  51. at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:194)
  52. at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:248)
  53. at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:280)
  54. at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findAdvisorsThatCanApply(AbstractAdvisorAutoProxyCreator.java:118)
  55. at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:88)
  56. at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:69)
  57. at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:330)
  58. at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:293)
  59. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422)
  60. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583)
  61. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
  62. ... 37 more
  63. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceId' defined in file [C:\Users\c\Desktop\Spring-Learning\spring-study\target\classes\com\cc\study\aspectj\annotation\UserServiceImpl.class]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut myPointCut
  64. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
  65. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
  66. at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305)
  67. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
  68. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
  69. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)
  70. at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
  71. at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:834)
  72. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)
  73. at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
  74. at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
  75. at com.cc.study.aspectj.annotation.TestProxy.demo01(TestProxy.java:11)
  76. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  77. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  78. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  79. at java.lang.reflect.Method.invoke(Method.java:498)
  80. at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
  81. at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
  82. at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
  83. at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
  84. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
  85. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
  86. at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
  87. at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
  88. at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
  89. at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
  90. at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
  91. at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
  92. at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
  93. at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)
  94. at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
  95. at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262)
  96. at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
  97. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  98. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  99. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  100. at java.lang.reflect.Method.invoke(Method.java:498)
  101. at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
  102. Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut myPointCut
  103. at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:315)
  104. at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:207)
  105. at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:193)
  106. at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:170)
  107. at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:194)
  108. at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:248)
  109. at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:280)
  110. at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findAdvisorsThatCanApply(AbstractAdvisorAutoProxyCreator.java:118)
  111. at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:88)
  112. at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:69)
  113. at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:330)
  114. at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:293)
  115. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422)
  116. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583)
  117. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
  118. ... 37 more

然后我的pom.xml文件如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.cc.study</groupId>
  7. <artifactId>spring-study</artifactId>
  8. <version>1.0-SNAPSHOT</version>
  9. <dependencies>
  10. <!-- 4个核心(beans、core、context、expression) -->
  11. <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
  12. <dependency>
  13. <groupId>org.springframework</groupId>
  14. <artifactId>spring-context</artifactId>
  15. <version>4.2.0.RELEASE</version>
  16. </dependency>
  17. <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
  18. <dependency>
  19. <groupId>org.springframework</groupId>
  20. <artifactId>spring-beans</artifactId>
  21. <version>4.2.0.RELEASE</version>
  22. </dependency>
  23. <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
  24. <dependency>
  25. <groupId>org.springframework</groupId>
  26. <artifactId>spring-core</artifactId>
  27. <version>4.2.0.RELEASE</version>
  28. </dependency>
  29. <!-- https://mvnrepository.com/artifact/org.springframework/spring-expression -->
  30. <dependency>
  31. <groupId>org.springframework</groupId>
  32. <artifactId>spring-expression</artifactId>
  33. <version>4.2.0.RELEASE</version>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.springframework</groupId>
  37. <artifactId>spring-aop</artifactId>
  38. <version>4.2.0.RELEASE</version>
  39. </dependency>
  40. <dependency>
  41. <groupId>aspectj</groupId>
  42. <artifactId>aspectjweaver</artifactId>
  43. <version>1.5.4</version>
  44. </dependency>
  45. <dependency>
  46. <groupId>junit</groupId>
  47. <artifactId>junit</artifactId>
  48. <version>4.7</version>
  49. </dependency>
  50. </dependencies>
  51. <build>
  52. <plugins>
  53. <plugin>
  54. <groupId>org.apache.maven.plugins</groupId>
  55. <artifactId>maven-compiler-plugin</artifactId>
  56. <configuration>
  57. <source>1.8</source>
  58. <target>1.8</target>
  59. </configuration>
  60. </plugin>
  61. </plugins>
  62. </build>
  63. </project>

原因就是aspectj依赖的版本太低了,换一个最新的版本即可

  1. <dependency>
  2. <groupId>aspectj</groupId>
  3. <artifactId>aspectjweaver</artifactId>
  4. <version>1.5.4</version>
  5. </dependency>

找一个最新的版本

  1. <dependency>
  2. <groupId>org.aspectj</groupId>
  3. <artifactId>aspectjweaver</artifactId>
  4. <version>1.9.3</version>
  5. </dependency>

发表评论

表情:
评论列表 (有 0 条评论,263人围观)

还没有评论,来说两句吧...

相关阅读