2009/2/4 Vinicius Carvalho <[email protected]> > Hello there! Rob following your instructions when we try to load a > resource: > > httpService.registerResource("/OSLApplication.html","/OSLApplication.html", > webcontext); //This is the GWT entry-point > > And when the method from webcontext is finally called when the user points > to localhost:8080/myapp/OSLApplication.html: > > public URL getResource(String name) { > // TODO Auto-generated method stub > return GWTService.class.getResource("/resources/www/"+baseURI+name); > } > > We are always getting null > > We tried: > > "resources/www/"+baseURI+name > > And also did not work > > We tried using > GWTService.class.getClassLoader.getResource... > even > Thread.currentThread().getContextClassLoader().getResource >
Hi Vinicius, have you tried printing out: GWTService.class.getClassLoader() and Thread.currentThread().getContextClassLoader() to see if these match the classloader of the bundle with the resource? ( most OSGi frameworks put the bundle id in the classloader name ) if you're using the same classloader as the bundle with the resource then it should find it (just like a normal jar) - otherwise there are OSGi APIs that can load resources from Bundle instances, for situations where you don't know what the bundle classloader is but you know the Bundle (note that you can't get the classloader instance directly from the Bundle, as that would be too tempting!) if you want to share a resource with other bundles then you need to add exports and imports, just as with classes - if you have several bundles providing resources in the same package then you might want to look at the extender pattern, rather than attempt to merge these packages together (because by default OSGi doesn't merge package contents - instead it picks one bundle to be the 'exporter' and uses the package contents from this bundle - to merge package contents you need to use advanced techniques like Require-Bundle...) [ http://www.osgi.org/blog/2007/02/osgi-extender-model.html ] HTH It always returns null. > > The jar is packaged: > > org/ > resources/ > META-INF > > But it seems that resources/ is not being loaded by the class loader, do we > need any special directive on the MANIFEST? > > Regards > > > -- Cheers, Stuart

