2012-08-29 63 views
1

我想设置登录OSGi包,它被部署在Apache Karaf中。这与我的帖子here有关。那里提供的答案并没有帮助我。如果我添加Maven的依赖:在Apache Karaf上设置OSGi包中的Spring AOP日志记录

<dependency> 
    <groupId>org.aspectj</groupId> 
    <artifactId>com.springsource.org.aspectj.weaver</artifactId> 
    <version>1.6.2.RELEASE</version> 
    <scope>provided</scope> 
</dependency> 

我需要导出包的一串:

org.aspectj.lang.*, 
org.aspectj.internal.lang.reflect.*, 
org.aspectj.internal.lang.annotation.*, 
org.aspectj.runtime.internal.*, 
org.aspectj.runtime.*, 
org.aspectj.weaver.reflect.*, 
org.aspectj.apache.bcel.classfile.*, 
org.aspectj.apache.bcel.*, 
org.aspectj.bridge.*, 
org.aspectj.util.*, 
org.aspectj.weaver.*, 
com.bea.jvm.*, 

而最后一个(com.bea.jvm.*)是打破一切下降。当我尝试启动我的包时,它给了我缺少的需求错误,并说这个包缺失。 (package=com.bea.jvm)。但它被出口。而不是上面的maven依赖我也尝试了不同的其他人,但同样的问题。

我在这里失踪了什么?在互联网上没有太多有关OSGiAOP的信息。有人能帮我吗?我卡在这里...

回答

2

最后我找到了解决方案。我需要安装这些软件包:

install http://repository.springsource.com/ivy/bundles/external/org.aspectj/com.springsource.org.aspectj.runtime/1.6.2.RELEASE/com.springsource.org.aspectj.runtime-1.6.2.RELEASE.jar 
install http://repository.springsource.com/ivy/bundles/external/org.aspectj/com.springsource.org.aspectj.weaver/1.6.2.RELEASE/com.springsource.org.aspectj.weaver-1.6.2.RELEASE.jar 

并导入org.aopalliance.aop,包到我的包和一切工作。也没有必要出口这一批(org.aspectj)包。