在上次成功将我的RCP项目迁移到浏览器中运行后,开始研究怎样将它部署到Tomcat中,说实话,到目前为止,这方面的资料很少,在Eclipse RAP的新闻组上关于这方面的讨论也不是很多。RAP的帮助系统中的介绍文章好像也不是很详细(好像有点过时)
这里我们简单介绍一下部署Eclipse RAP 自带的RAP例子,如果安装了Eclipse RAP,打开帮助界面,找到RAP帮助文档中的“How to deploy a RAP application to a servlet container?“ 这篇文章,文章中提供了一个链接方式,可以下载一个psf,这是Eclipse的工程集文件,文件内容如下:
- < ?xml version="1.0" encoding="UTF-8"?>
- < psf version="2.0">
- < provider id="org.eclipse.team.cvs.core.cvsnature">
- < project reference="1.0,:pserver:anonymous@dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/server-side/bundles/org.eclipse.equinox.http.servletbridge,org.eclipse.equinox.http.servletbridge"/>
- < project reference="1.0,:pserver:anonymous@dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/server-side/bundles/org.eclipse.equinox.servletbridge,org.eclipse.equinox.servletbridge"/>
- < project reference="1.0,:pserver:anonymous@dev.eclipse.org:/cvsroot/rt,org.eclipse.rap/releng/org.eclipse.rap.demo.feature,org.eclipse.rap.demo.feature"/>
- < /provider>
- < /psf>
你也可以将内容复制到文本文件然后改成 yourpsffile.psf 文件,将它作为Eclipse的工程集导入到Eclipse中,Eclipse就会自动从Eclipse的CVS网站上下载对应的插件,总共有三个插件被下载下来:
org.eclipse.equinox.http.servletbridge
org.eclipse.equinox.servletbridge
org.eclipse.rap.demo.feature
打开org.eclipse.rap.demo.feature工程的script文件夹下的webappBuilder.xml文件,修改属性名为”servletbridge.dir“的属性值(好像在18行),将值修改为你的”org.eclipse.equinox.servletbridge“工程的路径,推荐使用绝对路径,比如:
- < property name="servletbridge.dir"
- value="D:/DeveloperWorks/Eclipse-3.5-RAP-SRC/org.eclipse.equinox.servletbridge" />
然后直接使用Ant运行编译,运行后会在插件的build文件夹下面生成可部署的文件。由此便可以准备部署Eclipse RAP到Tomcat。
打开生成的web.xml 文件,将已经被注释的下面内容
- < !--
- < init-param>
- < param-name>commandline< /param-name>
- < param-value>-console< /param-value>
- < /init-param>
- -->
还原成正常的代码,这样可以在Tomcat的控制台使用OSGI的控制台,方便查看和管理插件的生命周期,完成插件的更新和卸载功能,再将
- < init-param>
- < param-name>enableFrameworkControls< /param-name>
- < param-value>false< /param-value>
- < /init-param>
中的参数值由false改成true,这样可以启动对OSGI框架的控制,方便调试。
接 接着将org.eclipse.rap.demo.feature工程下面的build文件夹下的demo文件夹下面的内容复制到Tomcat的webapps目录下,启动Tomcat,启动后可在控制台输入 ”ss" 查看OSGI框架下已经被加载的插件:
可以看到我们部署的org.eclipse.rap.demo文件已经处于激活状态了。
打开浏览器,输入 http://localhost:8080/demo/rap 就可以进行访问了。部署Eclipse RAP到Tomcat的过程到此完成。
【编辑推荐】