利用pax-web提供的功能,资源文件在OSGI环境下可以自动完成注册,可是我们如何建立一个资源bundle,把相关的资源文件共享给其他的Bundle使用呢,其实很简单的,我花了大概2个小时的时间尝试,终于有了结果。
BundleA 作为资源包,osgi.bnd文件如下:
-wab:src/main/webapp
Web-ContextPath: /test/demo
BundleB作为资源使用者。osgi.bnd文件如下:
Web-ContextPath: /test/
在BundleA的webapp目录下建立一个测试图片,webapp/js/test.jpg。
在BundleB建立一个test.jsp,引用图片,写成<IMG src="demo/js/test.jpg" alt="Eclipse Logo" width="115" height="50" border=0></a>
发布后,浏览器输入http://localhost:8080/test/test.jsp,就发现,你可以在BundleB的jsp文件中浏览到BundleA的资源文件了,哈哈,是不是很方便啊。