【问题标题】:java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around when karaf and spring aspectjjava.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around when karaf and spring aspectj
【发布时间】:2014-08-05 06:39:21
【问题描述】:

我开发了camel osgi bundle,它使用spring 风格的camel 配置和aspectj aop 特性。当我将它部署到 karaf 3.0.1 中时,它给出了 java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around 异常。我的 pom.xml 中有以下依赖项

<dependency>
  <groupId>org.apache.servicemix.bundles</groupId>
  <artifactId>org.apache.servicemix.bundles.aspectj</artifactId>
  <version>1.6.8_2</version>
</dependency>
 <dependency>
    <groupId>org.springframework.osgi</groupId>
    <artifactId>spring-osgi-core</artifactId>
     <version>1.2.1</version>
  </dependency>

而且它还包含给定的类。如图所示,我已将 aspectj 安装到我的 karaf 控制台中,

206 | Resolved  |  80 | 1.6.8.2 | Apache ServiceMix :: Bundles :: aspectj

我使用 felix 作为 karaf 容器。

我在 camle-context.xml 中的 AOP 配置如下。

<aop:aspectj-autoproxy />

<bean id="aspectProcess" class="com.intel.isf.samplesims.soap.core.ResponseBuilderAspect"/>

我有以下简单的方面

@Aspect 公共类 ResponseBuilderAspect {

@Before("execution(* com.intel.isf.samplesims.soap.builder.AuthorizeProcessor.process(..))")
public void methodExecuteAdvice(JoinPoint joinPoint) throws Throwable {
    Object[] args = joinPoint.getArgs();
    System.out.println("*****************" + " inside aspect"+"*************");
}

我应该如何解决这个异常?

【问题讨论】:

  • 你能检查一下你的骆驼包的导入包吗?

标签: apache-camel aspectj apache-karaf apache-servicemix


【解决方案1】:

您是否尝试启动捆绑包 206?当它的状态为“已启动”时,您是否仍会收到异常?

【讨论】:

    猜你喜欢
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    相关资源
    最近更新 更多