KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am using the aQute Bnd toolset to create an OSGi bundle and have packaged with some dependant 'resource' files. This includes *.css files and *.xsd files in a resources directory I have created. I have included the following in the bundle.bnd file: Include-Resource: resources/=resources/ and when I do a build, the generated *.jar file has the *.css and *.xsd files in the resources directory in the top directory of the jar bundle file. However, in the actual code I am having difficulty in trying to refer to this as part of my class path: I have tried the following: new File("resources/example.css"); I have also tried: URL cssFile = this.getClass().getResource("resources/example.css"); try { file = new File(cssFile.toURI())); } catch(Exception e) { e.printStackTrace(); } I either get a NullPointException error or a File cannot be found IOException error (depending which one I use). I get this error when running in both Eclipse Equinox in Debug Configuration mode as well as Apache Felix (which we are using for our deployment). Note I am trying to do this in Java classes outside of the BundleActivator. Do I need to always refer to the context of the BundleActivator e.g.? /* * (non-Javadoc) * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext) */ @Override public void start(BundleContext context) throws Exception { /* Service to host the Bundle interface. */ ServletContainerService service = new ServletContainerService(); service.addServlet(new ServletContainer(new AxisServlet(), true)); this.serverReg = context.registerService(ServletContainerService.class.getName(), service, null); cssFile = new File(context.getClass.getResource("resource/example.css")); } I think the above will work, but will mean I will
Tags (comma-separated)
Save Edits
Cancel