2014-08-29 3 views
0

Я получил это в моем файле верблюжьей cxf.xml:Развертывание JAR в FuseESB получает ClassNotFoundException

<bean id="configFile" class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"> 
     <property name="location" value="file:${karaf.home}/etc/test.cfg"/> 
</bean> 

test.cfg есть. Мой pom.xml имеет следующее, который разрешает до версии 2.12.0.redhat-610379:

<dependency> 
    <groupId>org.apache.camel</groupId> 
    <artifactId>camel-spring</artifactId> 
</dependency> 

Все компилируется нормально. Но когда я бросаю его в папке развертывания FUSE, я получаю:

Caused by: java.lang.ClassNotFoundException: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer not found by myService [257] 
     at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532) 

Так что я полагаю, что это моя OSGi не имея верблюд/весны, но я теперь делать «функцию: установить X» для каждого возможного изменения верблюда и весной, и это ничего не меняет.

Кто-нибудь знает, что мне не хватает?

ответ

1

Я думаю, вам нужно импортировать пакет org.apache.camel.spring.spi в свой комплект.

+0

Я импортирую верблюжку-весну уже в пом ... Если я смотрю в банке maven, у нее есть org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer (.class) – djb

+0

Нет, вам нужно обновить манифест пакета файл для него. Пожалуйста, взгляните на пример верблюда-osgi, плагин maven bundle поможет вам создать правильный манифест связки. –

+0

хм, еще не повезло. Я добавил плагин build-helper-maven и feature.xml из camel-example-osgi. Затем я получил: «java.lang.ClassNotFoundException: org.apache.camel.Processor not found». Я буду работать над этим завтра. – djb