2014-04-26 1 views
2

다른 번들에서 내보내는 Karaf 런타임 내의 (.kar) 번들로 패키지를 가져 오려고합니다. 내 .kar 파일의 bean 내에서이 패키지를 참조 할 때 오류가 발생합니다. "com.sample"패키지를 내보내는 번들이 있습니다Karaf 패키지 가져 오기 오류

패키지를 실행하면 : 내 보낸 항목 목록에서 내 보낸 번들을 볼 수 있지만 내 .kar 파일에서 참조 할 때 다음과 같은 오류가 발생합니다 :

The import com.sample cannot be resolved 

at beans.testBean.<init>(testBean.java:5) 
at bios.testdabean_0_1.testdabean$1.getCamelContextMap(testdabean.java:146) 
at org.apache.camel.main.MainSupport.postProcessContext(MainSupport.java:386) 
at bios.testdabean_0_1.testdabean$1.doStart(testdabean.java:161) 
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) 
at org.apache.camel.main.MainSupport.run(MainSupport.java:148) 
at bios.testdabean_0_1.testdabean.run(testdabean.java:194) 
at bios.testdabean_0_1.testdabean.runJobInTOS(testdabean.java:290) 
at org.talend.esb.job.controller.internal.RouteAdapter.run(RouteAdapter.java:78)[189:org.talen 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_51] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_51] 

내 매니페스트 보이는 어떤 도움을 크게 감상 할 수

Manifest-Version: 1.0 
Export-Package: ... 
Bundle-ClassPath: ... 
Bundle-Name: ... 
Export-Service: ... 
Require-Bundle: ... 
Bundle-Vendor: ... 
Bundle-Version: 0.1 
Bundle-ManifestVersion: 2 
Bundle-SymbolicName: ..... 
Import-Package: com.sample,org.osgi.service.blueprint,javax.xml.bind.annotation, 
... 

다음과 같이! 감사합니다

답변

0

나는 누군가가 관심이 있다면 해결책을 찾았습니다.

경로 매니페스트 파일을 편집하여 OSGi 컨테이너에서 내 보낸 패키지를 가져 왔습니다. 그 후 Studio 내에서 Spring DM 편집기를 통해 서비스를 참조해야했습니다.

다음과 같이 네임 스페이스를 변경했습니다. 난 그냥 cBean 하락하고 ID를 통해 "myUDPService을"빈을 참조하는이 내가했던 일단 내가 태그

<osgi:reference id="myUDPService" interface="com.myosgi.UDPService"/> 

통해 서비스를 참조 할 수있는 후

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:camel="http://camel.apache.org/schema/spring" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:osgi="http://www.springframework.org/schema/osgi" 
    xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/bean/spring- beans.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
    http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd 
    http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd"> 

, 방법을 선택 가야했다!