0

我们将 aspectj (1.8.5) 与 Java (1.7) 和 Spring (3.2.3) 一起使用。我们使用加载时间编织。偶尔我们会看到这些错误是我们的应用程序启动时的日志。有时应用程序启动失败(由于错误),有时应用程序启动正确。

错误:

ERROR 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 上运行的事实可能会引起一些干扰?

应用程序上下文.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>

有人可以对此有所了解吗?

谢谢你。

4

1 回答 1

0

尝试添加以下依赖项:

<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.8.6</version>
</dependency>
于 2015-08-09T14:21:34.773 回答