我們在Java(1.7)和Spring(3.2.3)中使用aspectj(1.8.5)。 我們使用加載時間編織。 偶爾我們看到這些錯誤是我們應用程序啓動時的日誌。有時,應用程序啓動失敗(由於錯誤),有時應用程序正常啓動。零星的NoClassDefFoundError for org/aspectj/runtime/reflect/JoinPointImpl
錯誤:
錯誤TaskUtils.java:95 - 意外的錯誤在計劃任務發生。 java.lang.NoClassDefFoundError:org/aspectj/runtime/reflect/JoinPointImpl at 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>
有人可以請說明一點嗎?
謝謝。