osgi (fuse esb)에 스프링 기반 번들을 배포하려고합니다. 스프링 컨텍스트에서 리소스 폴더 안에있는 db4o 파일을 참조하고 있습니다. 내 이해에 따라, maven 프로젝트는 resources 폴더 아래에있는 파일을 프로젝트 클래스 경로에서 사용할 수 있는지 확인합니다. 파일을 resources/META-INF/spring/repo/test.db4o 아래에 보관했습니다.스프링 OSGi 클래스 경로 리소스 문제
다음은 봄 문맥의 항목입니다.
<bean id="objectContainer" class="org.springmodules.db4o.ObjectContainerFactoryBean">
<property name="databaseFile" value="classpath:META-INF/spring/repo/test.db4o" />
</bean>
응용 프로그램을 설치하고 시작하려고하면 다음 예외가 발생합니다.
java.io.FileNotFoundException: OSGi resource[classpath:META-INF/spring/repo/test.db4o|bnd.id=258|bnd.sym=taxonomydaoimplbundle] cannot be resolved to absolute file path because it does not reside in the file system: bundle://258.0:1/META-INF/spring/repo/test.db4o
다른 조합을 시도했지만 OSGi가이 파일을 인식하지 못하는 것 같습니다. 어떤 포인터도 감사 할 것입니다.
-Thanks
'test.db4o' 파일을 번들로 제공합니까? 그것들을 같은 묶음에 넣어야합니다. –
동일한 번들에 있습니다. – Shamik
'classpath :/META-INF/spring/repo/test.db4o' (슬래시로 시작하는 경로) – FrVaBe