当前位置: 首页 > 知识库问答 >
问题:

AnnotationAwareAspectJAutoProxyCreator仅在Java 1.5及更高版本上可用

拓拔烨赫
2023-03-14

我有一个在eclipse上运行的项目,但当我制作“java-jar”时,它会出现以下错误:

 Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [Beans.xml]; nested
 java.lang.IllegalStateException: AnnotationAwareAspectJAutoProxyCreator is only available on Java 1.5 and higher
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
        at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
        at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80)
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
        at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
        at pt.myCompany.myProduct.integrator.Integrator.init(Integrator.java:27)
        at pt.myCompany.myProduct.integrator.jobs.RequstSentToProvider.execute(RequstSentToProvider.java:24)
        at pt.myCompany.integrador.jobSchedule.RunRequstSentToProvider.main(RunRequstSentToProvider.java:10)
Caused by: java.lang.IllegalStateException: AnnotationAwareAspectJAutoProxyCreator is only available on Java 1.5 and higher
        at org.springframework.aop.config.AopConfigUtils.getAspectJAnnotationAutoProxyCreatorClassIfPossible(AopConfigUtils.java:134)
        at org.springframework.aop.config.AopConfigUtils.registerAspectJAnnotationAutoProxyCreatorIfNecessary(AopConfigUtils.java:99)
        at org.springframework.aop.config.AopNamespaceUtils.registerAspectJAnnotationAutoProxyCreatorIfNecessary(AopNamespaceUtils.java:71)
        at org.springframework.aop.config.AspectJAutoProxyBeanDefinitionParser.parse(AspectJAutoProxyBeanDefinitionParser.java:41)
        at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1297)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1287)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
        ... 16 more

当我制作“java-version”时,输出是:

java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

我做错了什么?

共有3个答案

聂永怡
2023-03-14

也许你可以改变你的jdk版本。我将jdk版本更改为1.7,然后项目可以正常运行

危寒
2023-03-14

我猜你在用Maven。也许您缺少了一些aspectj库?

尝试将其添加到您的pom.xml

<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.7.3</version>    
</dependency>
<dependency>
   <groupId>org.aspectj</groupId>
   <artifactId>aspectjweaver</artifactId>
   <version>1.7.3</version>
</dependency>
弓智明
2023-03-14

@MaggieX没有错——您遇到的是一个旧版本的Spring,它有一个if{}语句,它知道Java1.7,但不知道Java1.8。它假设如果它不能匹配1.5、1.6或1.7,您正在运行Java1.4。

因此,降级到1.7是一种变通方法。升级Spring版本是一个解决方案。在这里,有人通过从源代码重新构建Spring2.5JAR来添加Java1.8支持,这也回答了其他问题。查阅https://stackoverflow.com/a/32487035

 类似资料:
  • 问题内容: 网页中Java Applets的一个众所周知的问题是,浏览器会忽略applet标记的z-index而不是页面中的其他组件。无论您如何在页面中定位元素和z- index元素,小程序都将在所有内容之上吸引自己。 有一种解决方法,称为iframe垫片,如此处所述:http : //www.oratransplant.nl/2007/10/26/using-iframe-shim-to-par

  • 问题内容: 这是我的第一篇文章,我将尽力使自己尽可能清晰(对不起我的英语)。 这是我的麻烦,我正在使用Retrofit:1.9.0和okhttp:2.7.5来执行API调用。一切都很好,直到我的服务器提供程序禁用了SLLv2和SSLv3导致安全性问题的原因(3月1日被淹死)。 现在,我检查了有关我的提供程序的信息,并且他仅允许通过https://www.ssllabs.com/获得带密码的TLSv

  • 问题内容: 我有几个用Swift 2.2编写,用Xcode 7.3编译的应用程序,这些应用程序在App Store上实时运行。这些应用程序利用推送通知,并且在iOS 9.3和更早版本中可以正常运行。 但是,在已升级到iOS 10的设备上,我的应用程序未收到任何推送通知。仍在运行iOS 9的设备仍在接收通知。 考虑到可能是证书或权利问题,我尝试了以下操作:将我的一个应用程序升级到Swift 2.3,

  • > 错误:Android Gradle插件只支持Kotlin Gradle插件1.3.10及更高版本。以下依赖项不满足所需版本:项目':DrawerBehavior'->org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71 flutter{source“../..”} }

  • 我目前正在为培训应用程序实现AudioHelper,该应用程序可以在培训期间运行一些激励性演讲。因此,基本上,如果一个演讲正在运行,我想避开我的spotify音频,以便清楚地听到演讲。对于Kitkat和Oreo(及更高版本),我已经解决了这个问题(参见代码)。但对于Lollipop,我找不到正确的实现。在 developer.android.com,他们写道: 对于以Android 5.0(API

  • 我正在使用pullToRefresh库: 但是如果android版本大于4.0,列表无法移动。 LogCat显示模拟器警告,但它们不相关。 如何解决移动列表的问题?