当我尝试运行我的某个应用程序时,我收到以下错误:
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
答案 0 :(得分:0)
简短:不要使用有冲突的AspectJWeaver 1.8依赖项部署AspectJ 6.0。
我怀疑这对任何人都非常有帮助,因为这个问题非常小。我的本地部署有AspectJ 6.0 jar,它附带了一个旧版本的AspectJWeaver jar。来自/ myApp / lib / *的应用程序集classpath的run命令。
要找出我所做的所有依赖项:sudo ps -ef | grep -i myApp
后跟lsof -p <pid> > ~/tmp
。我能够使用它,因为当应用程序出现故障时,该过程仍然开始。我在类路径中注意到了旧版本的aspectJWeaver,最后从我的本地classpath文件夹中删除了AspectJ 6.0 jar。
答案 1 :(得分:0)
检查java主页。确认它小于7。
使用java -version。
例如,在jboss中,验证standalone.bat和standalone.config。
答案 2 :(得分:0)
我有相同的错误消息和堆栈跟踪,但依赖性版本稍有不同。
问题是缺乏对functools.partial()
的支持。恢复为Java 9
可以解决此问题。