Equinox环境开发Web应用--HTML篇


一、文档目的


本文的目的为了让开发的人员尽快进入开发阶段,避免将过多的精力和时间花费在环境设置等问题上,简化开发环境设置,提高工作效率,发挥研发支撑的作用。

本文最终的预期效果,是使阅读者按照文中的说明步骤和提供的环境配置内容,通过简单的复制、粘贴配置内容,快速完成OSGi环境下静态HTML运行环境的搭建。并且在文中适当总结一些开发过程中可能遇到的问题,以及问题的解决方法。

二、预期读者


利用在Eclipse环境从事OSGi设计和开发的人员。

三、本文内容


本文描述了在Eclipse开发环境下设置Equinox运行的环境过程。通过一个例子描述环境创建的过程。

四、开发环境


Jdk 1.5

Eclipse 3.3

五、运行环境
WindowsXP + sp2

六、其他说明


如果想本文中图片看得更加清楚,请直接拖拽图片放大即可。

七、步骤


1、创建环境
1) 新建一个Plug-in项目:


Equinox环境开发Web应用--HTML篇


2)输入项目名称,选择目标平台为Equinox:


Equinox环境开发Web应用--HTML篇


3)无修改,Next


Equinox环境开发Web应用--HTML篇


4)无修改,Finish


Equinox环境开发Web应用--HTML篇


2、项目结构


Equinox环境开发Web应用--HTML篇

3、增加内容


1)新建一个目录Webroot和一个index.html文件

说明:Webroot位于该项目的根目录下。index.html内容为任意的html格式内容。

index.html参考内容见图后。

Equinox环境开发Web应用--HTML篇


  1. <!--index.html参考内容-->
  2. <html>
  3. htmlhello
  4. </html>


2) 在项目根目录下创建plugin.xml文件

plugin.xml内容如下,可以直接复制下面内容使用。

  1. <plugin>
  2. <extensionpoint="org.eclipse.equinox.http.registry.resources">
  3. <resource
  4. alias="/web"
  5. base-name="/Webroot"/>
  6. </extension>
  7. </plugin>

这时候,Manifest.mf会报错。

3) 修改Manifest.mf

A、在 Bundle-SymbolicName 后面增加 ;singleton:=true

B、增加 Require-Bundle 内容

修改后Manifes.mf的内容如下:

  1. Manifest-Version:1.0
  2. Bundle-ManifestVersion:2
  3. Bundle-Name:HtmlPlug-in
  4. Bundle-SymbolicName:cn.tuscany.osgi.example.html;singleton:=true
  5. Bundle-Version:1.0.0
  6. Require-Bundle:org.apache.commons.logging,
  7. org.eclipse.osgi.services,
  8. javax.servlet,
  9. org.mortbay.jetty,
  10. org.eclipse.equinox.http.jetty,
  11. org.eclipse.equinox.http.servlet,
  12. org.eclipse.equinox.common,
  13. org.eclipse.equinox.registry,
  14. org.eclipse.equinox.http.registry

注意:在最后一行要有一个空行,而且不能有任何的空格;

4、运行应用


1)从工具菜单上选择运行 Open Run Dialog…


Equinox环境开发Web应用--HTML篇


2)弹出窗口

Equinox环境开发Web应用--HTML篇
3)双击OSGi Framework

单击Deseletc Al ,然后修改Name 的值为:OSGi_HTML_TEST,然后点击Apply按钮。

Equinox环境开发Web应用--HTML篇
4)选中Workspace中的 cn.org.tuscany.osgi.test.html项目,点击Add Required Bundles按钮。

Equinox环境开发Web应用--HTML篇


5)点击Run运行,控制台显示如下:

Equinox环境开发Web应用--HTML篇
6)打开IE浏览器,在地址栏输入:http://localhost/web/index.html

7)显示界面

Equinox环境开发Web应用--HTML篇
八、依赖的bundle信息

Equinox环境开发Web应用--HTML篇
除了org.apache.commons.logging之外,其他的bundle都是eclipse自带的。

org.apache.commons.logging可以在网上找到。


九、可能的问题
1、Manifest.mf格式问题

在Manifest.mf文件最后一行要有一个空行,而且不能有任何的空格;

2、jetty服务启动问题

检查本机是否有其他的web应用占用 80 端口。

<<完>>