【发布时间】:2019-09-17 05:55:31
【问题描述】:
我得到:
在类路径资源 [org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.class] 中定义名称为“projectingArgumentResolverBeanPostProcessor”的 bean 创建错误:bean 初始化失败;嵌套异常是 java.lang.IllegalArgumentException: 错误 @annotation 切入点表达式仅在 Java 5 合规级别或更高版本中受支持 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:581) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE] 尝试在基本 spring-boot 应用中添加 per4j 时出错
所以我一直在尝试将 perf4j 日志添加到我的 Spring Boot 应用程序中。 在这里,我在 Maven 中设置了 java 8。
<properties>
<java.version>1.8</java.version>
</properties>
在我的本地,我也只安装了 Java 8。当我在为 perf4j 添加更改后运行应用程序时,它会引发上述错误。当我深入了解错误时,我可以看到:
原因:java.lang.IllegalArgumentException: 错误 @annotation 切入点表达式仅在 Java 5 合规级别或更高版本中受支持
类似的问题已经存在Error creating bean with name 'projectingArgumentResolverBeanPostProcessor' 但没有解决办法。
这里是详细的错误:
org.springframework.beans.factory.BeanCreationException:在类路径资源 [org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.class] 中定义名称为“projectingArgumentResolverBeanPostProcessor”的 bean 创建错误:bean 初始化失败;嵌套异常是 java.lang.IllegalArgumentException: 错误 @annotation 切入点表达式仅在 Java 5 合规级别或更高版本中受支持
在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:581) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:236) ~[spring-context-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:710) ~[spring-context-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:535) ~[spring-context-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
在 org.springframework.boot.SpringApplication.refresh(SpringApplication.java:780) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
在 org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
在 org.springframework.boot.SpringApplication.run(SpringApplication.java:333) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1277) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1265) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
在 com.calamp.connect.ae.Application.main(Application.java:29) [classes/:na] 原因:java.lang.IllegalArgumentException:错误 @annotation 切入点表达式仅在 Java 5 合规级别或更高版本中受支持
在 org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:317) ~[aspectjtools-1.6.2.jar:na]
在 org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:227) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.aop.aspectj.AspectJExpressionPointcut.obtainPointcutExpression(AspectJExpressionPointcut.java:198) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:177) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE] 在 org.springframework.aop.support.AopUtils.canApply(AopUtils.java:225) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.aop.support.AopUtils.canApply(AopUtils.java:288) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:320) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findAdvisorsThatCanApply(AbstractAdvisorAutoProxyCreator.java:126) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:95) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:76) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:352) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:304) ~[spring-aop-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:431) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1703) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
...省略了15个常用框架
我已经添加了以下依赖项,用于在 pom.xml 中添加 perf4j 日志记录,如果这可以为任何人提供任何线索:
<dependency>
<groupId>org.perf4j</groupId>
<artifactId>perf4j</artifactId>
<version>0.9.16</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjtools -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>commons-jexl</groupId>
<artifactId>commons-jexl</artifactId>
<version>1.1</version>
</dependency>
错误不应该出现,应用应该运行。
【问题讨论】:
标签: spring maven spring-boot perf4j