Eclipse3.3+JWS

Eclipse3.3+JWS

   上次把同事研究的用JWS发布EclipseRCP应用的预言文档发到Bolg上了,那个版本是用于Eclipse3.2.2-的,到了Eclipse3.3以后有不少东东都发生了变化。特此留文一篇,记录一下。
   先看不同在哪里:
  1.Eclipse3.3的启动方式不同于Eclipse3.2.2-的版本;
  2.Eclipse3.3加入了对Vista的支持,所以SWT有所变化;

先看第一个不同对我们的影响:
    没有了startup.jar了~对我们的形象不小哦!看看没有了Startup.jar以后启动Eclipse是如何实现的:

http://www.duduwolf.com/wiki/2007/393.html
最后要说明的是,这里用Execwait启动java命令,而不是Exec。区别是Exec马上退出Java Launcher.exe的进程,而Execwait不退出,也就是说用Execwait在关闭程序之前,有两个活动进程,Java Launcher.exe和javaw.exe。这正是eclipse3.3之前的EXE启动器的情况,比如Eclipse3.2启动后,任务管理器里有eclipse.exe和javaw.exe两个进程。使用Execwait的原因是Exec在Windows 2000下出现的一个问题,在使用程序的过程中,如果用户改变了桌面属性,比如背景图,系统就挂掉了。Eclipse在3.3之后改成了使用Java的Invocation Interface启动startup.jar。详细的情况请看org.eclipse.equinox.executable项目

 

    Eclipse的启动彻底被org.eclipse.equinox.launcher_1.0.0.v20070606.jar接管了~org.eclipse.equinox.launcher_1.0.0.v20070606.jar的包结构基本和Startup.jar基本一样但是还是有区别的。
    所以根据我上一次文章的所说的需要Startup.jar了~不需要再让feature下放东东了~加认证什么都一样了~
需要修改生成的JNPL文件,主要需要修改一下两个地方:
1 < jar href = " plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar " />
  < application - desc main - class = " org.eclipse.equinox.launcher.WebStartMain " >
    启动Jar文件以及启动类~
支持了Vista以后对我们的影响:
    生成的org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG.jnlp中被多包含*wpt*.jar的引用,这些是在我们下载的Eclipse3.3里面没有的~但是还是生成了引用,这个应该是pdt的BUG~Eclipse的BUG LIST上面已经提到了~
    如果非要在Vista上跑,就自己找找吧·如果不是,那么直接删掉就好了~

一定要注意第一个问题~没有了Startup.jar以后,千万不要把org.eclipse.equinox.launcher_1.0.0.v20070606.jar当Startup.jar用,在外面也放一份~启动的时候JWS会包错的,会说JAR包重复!

客户虐我千百遍,我待客户如初恋!

你可能感兴趣的:(Eclipse3.3+JWS)