将Eclipse RCP与Java Web Start结合发布为web应用,可以替代原有的java Applet提供一个更易扩展,更新,组件间耦合度更低,功能更强的应用程序。可以为web上的特定应用提供解决方案。B/S结构的应用程序客户端不再局限于浏览器。
1、 创建RCP工程:
使用插件工程创建向导,创建一个插件工程,名为org.rufus.javaeye.jws.eclipse。
选择Rich Client Application为yes。
Templates选择页面,选择一个例子,view或者Hello RCP。
2、 为RCP工程创建feature:
创建一个feature-project,名为org.rufus.javaeye.jws.eclipse.feature。
打开feature.xml:
plug-ins标签,加入工程:org.rufus.javaeye.jws.eclipse。
included features标签,加入feature:org.eclipse.rcp。
build.properties标签,输入“root=webroot”。
在feature工程下创建目录webroot。
3、 创建数字签名:
由于java安全控制的关系,所有下载到客户端的jar包都应该具有数字签名。
Java命令:keytool -genkey -keystore myKeystore -alias mykeystore。
将startup.jar用数字签名(如果使用的是eclipse3.3,请拷贝3.2根目录下startup.jar)
Java命令:jarsigner -keystore myKeystore startup.jar mykeystore
将过签名的startup.jar拷贝到webroot目录下。
4、 创建jnlp文件:
在webroot目录下创建jnlp文件,取名为test.jnlp
文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://192.168.0.190:8888/mysite(需要修改为http://serverIP:port/appName" href="test.jnlp">
<information>
<title>Test</title>
<vendor>sly</vendor>
<icon kind="splash" href="splash.gif"/>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<application-desc main-class="org.eclipse.core.launcher.WebStartMain">
<argument>-nosplash </argument>
</application-desc>
<resources>
<j2se version="1.4+" />
<jar href="startup.jar"/>
<extension name="the feature" href="features/org.rufus.javaeye.jws.eclipse.feature_1.0.0.jnlp"/>
<property name="eclipse.application" value="org.rufus.javaeye.jws.eclipse.application"/>
<!-- <property name="eclipse.product" value="org.rufus.javaeye.jws.eclipse.product"/>-->
</resources>
<resources os="Windows">
<property name="osgi.instance.area" value="@user.home/Application Data/test"/>
<property name="osgi.configuration.area" value="@user.home/Application Data/test"/>
</resources>
</jnlp>
5、 导出RCP工程:
打开feature.xml,
overview标签,选择export wizard。
Destination标签,选择一个导出的路径。
Options标签,选择package as individual jar archives(required for JNLP and update site)。
Jar signing标签,选择刚刚创建的key store,输入别名(alias),密码。
Java Web Start标签,输入站点的ip和地址(http://serverIP:port/appName),jre版 本:1.4+。
Finish,将导出的文件拷贝到站点的根目录下。
6、 测试:启动服务器,在站点根目录下,双击运行test.jnlp。
7、 以上在win2003,jdk1.5,eclipse3.3测试通过。
===20090519===
此博发布半年后的某天,IBM的eclipse开发者group有了同样功能的一篇,地址如下,留作参考。
http://www.ibm.com/developerworks/cn/opensource/tutorials/os-eclipse-jws/index.html