2012-08-29 64 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)包。