Tribon, the Bundle-ClassPath in manifest file does contain "." . Here's my manifest file.
Manifest-Version: 1.0 Export-Package: com.test.taxonomy.api.impl;uses:="org.springframew ork.transaction.annotation";version="1.0.0" Bundle-ClassPath: . Built-By: bandops Tool: Bnd-0.0.357 Bundle-Name: Taxonomy Impl Bundle Created-By: Apache Maven Bundle Plugin Build-Jdk: 1.6.0_21 Bundle-Version: 1.0.0 Bnd-LastModified: 1308013351431 Embed-Transitive: true Bundle-ManifestVersion: 2 Embed-Dependency: *;scope=compile|runtime;inline=true;artifactId=!spri ng|commons-logging Import-Package: com.test.taxonomy.api.impl;resolution:=optional;ve rsion="1.0",javax.management;resolution:=optional,javax.net;resolutio n:=optional,javax.net.ssl;resolution:=optional,javax.xml.bind.annotat ion;resolution:=optional,org.apache.commons.logging;resolution:=optio nal,org.apache.tools.ant;resolution:=optional,org.apache.tools.ant.ty pes;resolution:=optional,org.apache.tools.ant.types.resources;resolut ion:=optional,org.apache.tools.ant.util.regexp;resolution:=optional,o rg.springframework.beans.factory;resolution:=optional;version="2.5",o rg.springframework.core;resolution:=optional;version="2.5",org.spring framework.core.io;resolution:=optional;version="2.5",org.springframew ork.dao;resolution:=optional;version="2.5",org.springframework.dao.su pport;resolution:=optional;version="2.5",org.springframework.transact ion;resolution:=optional;version="2.5",org.springframework.transactio n.annotation;resolution:=optional;version="2.5",org.springframework.t ransaction.support;resolution:=optional;version="2.5",org.springframe work.util;resolution:=optional;version="2.5" Bundle-SymbolicName: taxonomyimplbundle 2011/6/14 Tribon Cheng <[email protected]>: > Maybe you can check "BundleClasspath" in the manifest header file of your > bundle. does it include "."? > 在 2011-6-14 下午10:26, <[email protected]>写道: >> Take a look at this, >> > http://www.dynamicjava.org/articles/osgi-matters/3rd-party-components-with-osgi/11-osgi-matters/43-3rd-party-components-incompatibility-problems?tmpl=component&print=1&page= >> >> Quoting Shamik Bandopadhyay <[email protected]>: >> >>> Well, that's the part which is puzzling. I don't see any reason why >>> Spring would use a seperate classloader.I've even tried including the >>> db4o file under >>> > <input-resource>META-INF/spring/repo/test.db4o=target/classes/META-INF/spring/repo/test.db4o</input-reource> >>> , but issue remains the same... >>> >>> On Mon, Jun 13, 2011 at 12:42 PM, <[email protected]> wrote: >>>> I'm no expert but my best guess would be that spring is trying to load > the >>>> file from the wrong classloader. If I'm reading the spring source > correctly, >>>> it will attempt to load "classpath:META-INF/spring/repo/test.db4o" from >>>> Thread.currentThread().getContextClassLoader() and then from >>>> ClassUtils.class.getClassLoader() if that fails. That's my 2 cents > anyway. >>>> >>>> Quoting Shamik Bandopadhyay <[email protected]>: >>>> >>>>> The file is in the same bundle and located inside >>>>> src/resources/META-INF/spring/repo/test.db4o. I've confirmed this in >>>>> the generated bundle as well. >>>>> >>>>> On Mon, Jun 13, 2011 at 8:40 AM, Tribon Cheng <[email protected]> >>>>> wrote: >>>>>> >>>>>> Resources are loaded in the same way as classes. Make sure the file is >>>>>> under >>>>>> the classpath, and is exported if it is used in different bundle. >>>>>> 在 2011-6-13 下午11:25,"Shamik Bandopadhyay" <[email protected]>写道: >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I'm trying to deploy a spring based bundle in osgi (fuse esb).In >>>>>>> spring context, I'm referring to a db4o file which is inside > resources >>>>>>> folder. As per my understanding, a maven project will make sure that >>>>>>> any file available under resources folder will be available in > project >>>>>>> classpath. I've kept the file under >>>>>>> resources/META-INF/spring/repo/test.db4o. >>>>>>> >>>>>>> Here's the entry in spring context. >>>>>>> >>>>>>> <bean id="objectContainer" >>>>>>> class="org.springmodules.db4o.ObjectContainerFactoryBean"> >>>>>>> <property name="databaseFile" >>>>>>> value="classpath:META-INF/spring/repo/test.db4o" /> >>>>>>> </bean> >>>>>>> >>>>>>> Once I install and try to start the application, I'm getting the >>>>>>> following exception. >>>>>>> >>>>>>> "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" >>>>>>> >>>>>>> I've tried different combinations, but Felix doesn't seem to > recognize >>>>>>> this file. Any pointer will be appreciated. >>>>>>> >>>>>>> - Thanks >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>> For additional commands, e-mail: [email protected] >>>>>>> >>>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

