我们正在使用带有Java(1.7)和Spring(3.2.3)的aspectj(1.8.5)。 我们使用加载时间编织。 偶尔我们会看到这些错误是应用程序启动时的日志。有时启动应用程序失败(由于错误),有时应用程序正确启动。
错误:
错误TaskUtils.java:95 - 计划任务中发生意外错误。 java.lang.NoClassDefFoundError:org / aspectj / runtime / reflect / JoinPointImpl 在org.aspectj.runtime.reflect.Factory.makeJP(Factory.java:164)〜[aspectjweaver-1.8.5.jar:1.8.5]
这种情况多次发生约半分钟,然后应用程序成功克服了这个问题。
也许我们在Spring上运行的事实可能会引起一些干扰?
applicationContext.xml:
<context:load-time-weaver aspectj-weaving="on"/>
Tomcat的context.xml:
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
在我们的pom.xml中,我们有这些依赖项(与aspectJ和spring aop相关):
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument-tomcat</artifactId>
<version>${springframework.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.5</version>
</dependency>
有人可以对此有所了解吗?
谢谢。
答案 0 :(得分:0)
尝试添加以下依赖项:
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.6</version>
</dependency>