2015-07-15 12 views
2

Я сталкивается с той же проблемой, описанной в Error when using AspectJ AOP with Java 7Ошибки выражение @annotation среза точек поддерживаются только на Java 5 уровня соответствия или выше

Но предлагаемые решения не выручают.

  1. Я модернизировал весна-aspectjweaver & aspectjrt до 1.7.2
  2. Увеличивает версию org.springframework.aspects до 3.2.1
  3. Java 7
  4. Tomact 6

Я использую build.gradle для его загрузки.

Добавленные Зависимости:

compile(group: 'org.aspectj', name: 'aspectjrt', version: '1.7.2') 
compile(group: 'org.aspectj', name: 'aspectjweaver', version: '1.7.2') 
compile(group: 'org.springframework', name: 'spring-aspects', version: '3.2.1.RELEASE') 
compile(group: 'org.springframework', name: 'spring-aop', version: '3.2.1.RELEASE') 
compile(group: 'org.springframework', name: 'spring-context', version: '3.2.1.RELEASE') 
compile(group: 'org.springframework', name: 'spring-beans', version: '3.2.1.RELEASE') 
compile(group: 'org.springframework', name: 'spring-core', version: '3.2.1.RELEASE') 
compile(group: 'org.springframework', name: 'spring-expression', version: '3.2.1.RELEASE') 

StackTrace Ошибка

org.springframework.beans.factory.BeanCreationException: **Error creating bean with name 'transfersComponent' defined in URL [jar:file:/C:/.some path to jar ./com/barclays/internet/aggregate/component/TransfersComponent.class]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor': Cannot resolve reference to bean** 'org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0' while setting bean property 'transactionAttributeSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0': BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.googlecode.ehcache.annotations.config.internalEhCacheCachingAdvisor': Cannot resolve reference to bean 'com.googlecode.ehcache.annotations.impl.CacheStaticMethodMatcherPointcut#0' while setting bean property 'pointcut'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.googlecode.ehcache.annotations.impl.CacheStaticMethodMatcherPointcut#0': Cannot resolve reference to bean 'com.googlecode.ehcache.annotations.impl.CacheAttributeSourceImpl#0' while setting bean property 'cacheAttributeSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.googlecode.ehcache.annotations.impl.CacheAttributeSourceImpl#0': Cannot resolve reference to bean 'ehCacheManager' while setting bean property 'cacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehCacheManager' defined in class path resource [applicationContext.xml]: 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 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:452) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) 
    at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1429) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:631) 
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:568) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:295) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) 
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) 
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) 
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420) 
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) 
    at sun.rmi.transport.Transport$2.run(Transport.java:202) 
    at sun.rmi.transport.Transport$2.run(Transport.java:199) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.rmi.transport.Transport.serviceCall(Transport.java:198) 
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:567) 
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) 
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(TCPTransport.java:619) 
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:684) 
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:681) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:681) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 

Jul 16, 2015 9:50:43 AM org.apache.catalina.core.ApplicationContext log 
INFO: Closing Spring root WebApplicationContext 
+0

Вы можете выбросить любую библиотеку, однако, если вы не сообщите компилятору о том, что он совместим с 1.5 или выше, он даст вам это предупреждение. Вы используете ant, который по умолчанию устанавливает источник/цель в 1.4, который я считаю для задачи компиляции (но это было давно). Также вы не обновили только библиотеки AspectJ, используя AspectJ. –

+0

@M. Deinum Я обновил эти три библиотеки: 1. spring-aspectjweaver 2. spring-aspectjrt 3. org.springframework.aspects Вы хотите, чтобы я обновил любую другую библиотеку? – JTN

+0

AspectJ вы нигде не упоминаете версию aspectj. Вы только обновляете связанные библиотеки, а не аспектные библиотеки. –

ответ

2

Проблема решена, на самом деле проект, который я запускаю, состоит из 3 модулей. В двух модулях я обновлял версию jar до 1.7.2, поскольку только эти два модуля использовали ее.

Но третий модуль также имел зависимость, которая загружала более раннюю версию spring-aspectweaver 1.5.3, и даже после внесения изменений в другие два модуля они собирали старую банку из зависимости модуля 1.

Извлечение бана старой зависимости от модуля и жесткое удаление старой банки помогли.

0

Если Eclipse, откройте свойства проекта> Java Compiler. Установите для уровня соответствия компилятора значение 1.7. Для других IDE, просто Google, как изменить уровень соответствия компилятора.

+0

Это уже в 1.7, и я использую InteliJ. – JTN