本文介绍在Eclipse里如何配置一个简单的基于Eclipse Equinox OSGi实现的Web应用程序,在它的基 础上可以构造更加复杂的应用,本文使用的是Eclipse 3.3.1版本,如果你的Eclipse版本在3.2.0或以上 应该都可以。
一、支持静态页面和Servlet
1. 创建一个新的plugin项目, net.bjzhanghao.osgi.test,在向导第一步里选中“This plug-in is target,在下一步的“Plug-in Options”里选中“Generate an activator”。
2. 在例子项目的MANIFEST.MF里添加如下依赖项目,这些项目都是Eclipse自带的:
org.eclipse.equinox.http.jetty
org.eclipse.equinox.http.servlet
org.mortbay.j etty
org.apache.commons.logging
javax.servlet
org.eclipse.equinox.http.registry
3. 在例子项目根目录下创建一个放置web文件的目录,如“web_files”,在这个目录下写一个简单的 index.html文件。
4. 为项目建一个plugin.xml文件,内容如下:
alias="/web"
base-name="/web_files"/>
注意,这时若MANIFEST.MF里提示错误,只要在Bundle-SymbolicName这一行后面加上 “;singleton:=true”即可解决。
5. 现在可以启动这个应用程序了。在Eclipse菜单里选择“Run->Open Run Dialog...”,在左边 的 “OSGi Framework”项下创建一个新的启动配置项,在右边先点“Deselect All”清空所有复选框, 然后在Workspace下选中自己的osgi项目,再点“Add Required Bundles”按钮,Eclipse会自动把所依赖 的项目选中。最后按“Debug”按钮启动,内嵌的jetty和我们的项目会一起被启动。