当我们在RCP中直接加入jar,是无法实例的,需要手动的设置一些地方,才能正常运行。
我们拿一个简单的示例来说明,这个示例使用的是eclipse rcp的template中最简单的一个,也就是大家都见过的Hello,RCP。我用的eclipse版本是3.2M2。
为了便于说明,我自己写了一个java文件然后打包成jar,再在rcp程序中调用它。这个程序是这样的:
Code:
package demo;
public class Hello {
public static String sayHello()
{
return "hello,world";
}
}
[Ctrl+A Select All]
就这么简单,打包后做成一个hello.jar。具体过程略去不谈。
然后我们新建一个rcp application,具体过程也略去不谈。这里需要提醒大家的是rcp工程的名字最好用小写英文,用大写的话可能会出一些问题,至少在我用的这个版本是这样。
建好以后在下面新建一个lib目录作为存放第三方库的目录。再把前面做好的hello.jar拷贝过去。参见下图。
图1
在RCP工程中,你可以有两种办法把jar加入到class path中,你可以任选一种:
在RCP工程中,你可以有两种办法把jar加入到class path中,你可以任选一种:
在RCP工程中,你可以有两种办法把jar加入到class path中,你可以任选一种:
和普通的工程一样,加入到build path里面,参见下面图2打开plugin的Build页面,注意到最下面有个“Extra Classpath Entries”了么?展开以后选Add Jars把需要的jar加进去,有同样的效果,参见图3
图2
图3
我在这里说“任选一种”的意思是不要两种办法同时用,否则工程会报错。
在上面的工作都做完之后,仍然在plugin的Build页面上,左边的Binary Build下面把你程序的输出目录(我的工程里面是bin)和你的jar所在的目录(我的工程里面是lib)打勾,这样输出时候会包含你编译后的文件以及第三方库。仍然参照第三张图
然后切换到plugin的Runtime页面,在右下角的Classpath里面把你程序的输出目录(我的程序里面是bin)和你所有要包含的jar文件(我的程序里面是lib/hello.jar)都加进去。参照图4,这样就基本上完成了。
图4
之后所要做的事情就是修改程序了,我在这里只是简单地把程序的标题做了修改,找到ApplicationWorkbenchWindowAdvisor这个类,把preWindowOpen修改成下面这样:
Code:
public void preWindowOpen() {
IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
configurer.setInitialSize(new Point(400, 300));
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(false);
configurer.setTitle(Hello.sayHello());
}
[Ctrl+A Select All]
这个示例就完成了,之后产生product文件后export出来就可以看到结果了。过程也略去不谈。
运行以后会发现标题栏从“Hello,RCP”变成了“hello,world”,参见第图5