尝试运行我的应用程序之一时,出现以下错误:

error the @annotation pointcut expression is only supported at Java 5 compliance level or above

该应用程序使用AspectJ 6.0,AspectJWeaver 1.8和SpringAspects 4.2依赖项。我已检查启动的JVM是JDK 1.8,并且JAVA_HOME也已设置为我的JDK 1.8安装。从类似的问题环顾四周,我看到答案是确保将Aspectjweaver设置为1.8,并且不要将AspectJ 1.5.4与JDK 1.6之上的任何版本一起使用。我可以检查其他设置或配置吗?

堆栈跟踪的更多内容:
Exiting with throwable: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name   org.springframework.context.event.internalEventListenerProcessor':  Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error the @annotation pointcut   expression is only supported at Java 5 compliance level or above
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'org.springframework.context.event.internalEventListenerProcessor': Initialization of bean failed;
nested exception is java.lang.IllegalArgumentException:
error the @annotation pointcut expression is only supported at Java 5 compliance level or above

最佳答案

简短:不要部署具有冲突的AspectJWeaver 1.8依赖关系的AspectJ 6.0。

我怀疑这对任何人都不会有太大帮助,因为这个问题非常小众。我的本地部署有AspectJ 6.0 jar,它随附了一个较早版本的AspectJWeaver jar。应用程序的运行命令从/ myApp / lib / *设置类路径。

为了找出我所做的所有依赖关系:sudo ps -ef | grep -i myApplsof -p <pid> > ~/tmp。我之所以能够使用它,是因为当应用程序出现故障时,该过程仍然开始。我在类路径中注意到了AspectJWeaver的较旧版本,最终从我的本地classpath文件夹中删除了AspectJ 6.0 jar。

07-27 15:44