枫林在线论坛精华区>>程序设计
[340916] 主题: Eclipse零起步系列讲座(十三)
作者: little (渺小·Happy^_^)
标题: Eclipse零起步系列讲座(十三)[转载]
来自: 192.168.*.*
发贴时间: 2005年04月25日 11:28:52
长度: 3707字

Eclipse零起步系列讲座 (十三)

===========================================

(前言)
今天介绍如何用pde做plug-in install/update site, 使您的插件能够在
线安装升级哦.

(正文)

[site 简介]

前几讲我们在讲安装插件的时候, 讲过安装的方式有几种, 包括直接copy
, link方式 和
 智能安装. 其中智能安装就是

利用eclipse自带的install/update功能来实现插件的安装和升级. 我们做
完插件,只需
发布一个安装升级的网址,就一切

ok了.

那这样可以实现自动安装和升级的站点改如何做呢, 其实很简单的, 只要
站点内容的配
置符合一定的规范即可.

我们会继续沿用昨天和前天的例子, 把org.eclipse.example.xyz这个插件
发布到一个站
点上去.

[利用向导创建update site]

new -> project -> plug-in development -> update site pr
oject, 按next

项目名为: org.eclipse.example.xyz_site, 按finish

一个site项目就建好了, 然后我们展开这个项目, 会发现有site.xml文件
 , features和
plugins目录, site.xml就是用

来定义站点的具体信息, features和plugins则是用来存放站点所有的fea
tures和plugin
s.

[利用manifest editor 来编辑site]

打开site.xml, 有description, build, features, archives 和source等
页面

description page:

text是对这个site的一个描述, 当然如何这段描述保存在某个url上,也可
以知道url的值
来完成

category是用来分类的, 一般来说一个站点要存多个features时, 那就有
必要做个分类.
 一般来说, 对于同名feature的

不同版本,我们可以把他放到一个分类中去. 当然也有别的分法, 大家可以
各取所好. 添
加分类, 用add按钮添加. 例子

中, 我们需要添加一个Xyz Example分类.

build page:

这个页面很有帮助的, 首先我们在features to build的list中添加我们需
要的安置的fe
atures进去, 比如我们例子中的

org.eclipse.example.xyz, 添加进去,然后我们还要选中复选框, 表明我
们需要把这个f
eature发布到站点上去, 否则

build的时候会忽略的.

之后先别急着build, 我们来看看别的页面

features page:

我们可以看见我们前面添加的一个features存放的路径, 以及他的proper
ties和它所处
的category, 你可以对这些值做

相应的修改. 同时例子中, 我们需要把org.eclipse.example.xyz这个fea
ture的categor
y设为Xyz example.

archive page:

这块是专门做路径映射的, 具体可以参见platform plug-in developer g
uide中的站点
映射的参考资料

等以上我们都设置完后,我们就可以进行build了.
翻到build page: 按一下build按钮, ant就会帮助我们自动build好整个s
ite
根据默认设置, 所有的features和plugins都会build到site项目的featur
es和plugins目
录中去
其中有个选项是scrub output folders before the build, 这样在build
前, 会先清空
一下输出目录.

[site 结构]

build完成之后,我们就可以展开site项目, 看到site的原貌

+ project/
  + plugins/
    - org.eclipse.example.xyz_1.0.0.jar
    - org.eclipse.example.xyz.nls_1.0.0.jar
  + features/
    - org.eclipse.example.xyz_1.0.0.jar
  - site.xml

site.xml的内容
==========================================
<?xml version="1.0" encoding="UTF-8"?>

<site>

   <feature url="features/org.eclipse.example.xyz_1.0.0.
jar"
      id="org.eclipse.example.xyz"
      version="1.0.0">
      <category name="example"/>
   </feature>

   <category-def name="example" label="Xyz Exa
mple">
   </category-def>
</site>
===========================================

其中site里定义了, 一个feature: org.eclipse.example.xyz_1.0.0, 和
一个category:
 Xyz Example

[测试 site]

如果你以上项目都在本机创建开发, 那就直接切换到install/update 透视
图, 在featur
es udpate视图的my computer中

, 搜索到开发站点项目的那个目录.

你会发觉那个项目目录的图标和一般的目录不同, 说明eclipse已经把这个
目录看作是ec
lipse的一个update site了. 继

续展开, Xyz Example -> org.eclipse.example.xyz 1.0.0, 点击这个
feature, 然后in
stall now.

[发布 site]

发布也就很简单了, 你只要把你的项目里面的site.xml文件, plugins和f
eatures目录下
的所有内容, 安置到你的http

server或ftp server上, 别人就可以访问安装升级了


========== * * * * * ==========
返回