java.lang.ClassNotFoundException: org.aspectj.util.PartialOrder $ PartialComparable

java spring aspectj spring-aop

10208 просмотра

4 ответа

3988 Репутация автора

Я использую Spring 4.2.4.RELEASE в своем веб-приложении, и я хотел бы удалить из него зависимость от aspectjweaver.jar. Я не использую AOP напрямую и, конечно, не использую AspectJ. Но мое приложение не работает со следующим исключением:

java.lang.ClassNotFoundException: org.aspectj.util.PartialOrder$PartialComparable
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:450)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.sortAdvisors(AspectJAwareAdvisorAutoProxyCreator.java:73)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:91)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:69)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:346)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:298)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422)

Есть ли способ полностью удалить зависимость от aspectjweaver.jar?

Автор: Nikem Источник Размещён: 21.02.2016 02:17

Ответы (4)


16 плюса

161 Репутация автора

Я столкнулся с этой проблемой при использовании @Transactionalаннотации для класса, помеченного @Componentв Spring Boot, аналогичного: https://spring.io/guides/gs/managing-transactions/

Самый простой способ исправить это - добавить правильную зависимость Maven:

<dependency>
  <groupId>org.aspectj</groupId>
  <artifactId>aspectjweaver</artifactId>
  <version>1.8.9</version>
</dependency>
Автор: Adam C. Размещён: 20.02.2017 11:18

1 плюс

7688 Репутация автора

Есть ли способ полностью удалить зависимость от aspectjweaver.jar?

Нет, ты не можешь. Вы используете Spring AOP. Проект Spring spring-aopсильно зависит от aspectjweaver.jar. Читайте весна-АОП документы , которые четко идентифицирует это как зависимость.

Автор: VHS Размещён: 21.02.2017 12:47

1 плюс

36766 Репутация автора

Ответ - нет. Spring AOP синтаксически является подмножеством AspectJ, поэтому он использует классы AspectJ для разбора pointcuts. Он также предоставляет классы AspectJ как JoinPoint, ProceedingJoinPointи AspectJ аннотаций нравится @Poinctut, @Before, @After, @Around, и @DeclareParentsт.д.

Автор: kriegaex Размещён: 04.03.2017 12:09

1 плюс

458 Репутация автора

Добавление зависимости spring-boot-starter-aop решит проблему, если вы столкнетесь с этим в приложении springboot.

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-aop</artifactId>
</dependency>
Автор: Raj kannan Iyyappan Размещён: 12.10.2019 04:18
Вопросы из категории :
32x32