`
dyllove98
  • 浏览: 1381690 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:38301
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:78610
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:131751
社区版块
存档分类
最新评论

将Eclipse RAP部署到Tomcat中

阅读更多
   在上次成功将我的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文件夹下面生成可部署的文件。


打开生成的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框架的控制,方便调试。

  运行工程下面的ConfigIniCreator.java,(应该在39行)将指定plugins目录的路径修改为你本机的绝对路径,比如我的工程的路径是:
 File file = new File( "D:\\DeveloperWorks\\Eclipse-3.4-RAP\\org.eclipse.rap.demo.feature\\build\\demo\\WEB-INF\\eclipse\\plugins" );

运行后将打印的结果替换\org.eclipse.rap.demo.feature\build\demo\WEB-INF\eclipse\configuration目录的config.ini文件内容。

接    接着将org.eclipse.rap.demo.feature工程下面的build文件夹下的demo文件夹下面的内容复制到Tomcat的webapps目录下,启动Tomcat,启动后可在控制台输入 ”ss" 查看OSGI框架下已经被加载的插件:


可以看到我们部署的org.eclipse.rap.demo文件已经处于激活状态了。

打    打开浏览器,输入 http://localhost:8080/demo/rap 就可以进行访问了。




  • 大小: 27.4 KB
  • 大小: 109.4 KB
  • 大小: 109 KB
分享到:
评论
3 楼 chow__zh 2012-12-06  
你说ant编译是怎么编译的啊,怎么我编译出来的只有一个classes的空文件夹,而build文件夹下面并没有生成可部署的文件,能否说明一下你是怎么编译的
2 楼 flamenco 2011-04-13  
很强大,学习了
1 楼 gaogen110 2010-09-21  
很感谢你的分享。请问我按照上边的坐下来之后。发布到tomcat下访问的时候报如下错误:HTTP Status 404 - BridgeServlet: /rap_mail
--------------------------------------------------------------------------------
type Status report

message BridgeServlet: /rap_mail

description The requested resource (BridgeServlet: /rap_mail) is not available.
------------------------------------------------------------------------------
Apache Tomcat/5.5.30

请问这可能是什么原因呢? BridgeServlet 
是这个下的类/src/org/eclipse/equinox/servletbridge/BridgeServlet.java,我检查了一下这个jar也打进去了,不知是什么原因。

相关推荐

Global site tag (gtag.js) - Google Analytics