EGL 项目、包和文件

一个 EGL 项目可以不包含源文件夹,也可以包含多个源文件夹;每个源文件夹可以不包含包,也可以包含多个包;每个包可以不包含文件,也可以包含多个文件。每个文件可以不包含部件,也可以包含多个部件。

EGL 项目

EGL 项目的特征由一组属性决定,后面的内容对属性作了描述。在 EGL 项目的上下文中,当您执行特定的任务时(例如,当您保存 EGL 文件或构建文件时),EGL 自动执行验证并解析部件引用。另外,如果您正在使用 PageHandler 部件(它们的输出用来在 Websphere 测试环境中调试 Web 应用程序),则 EGL 自动生成输出,但只在以下情况下才这样:
  • 您通过选择下列选项设置了自动构建过程:窗口 > 首选项 > 工作台 > 资源修改时自动执行构建
  • 您已建立缺省构建描述符来作为首选项或属性

通过在创建新项目时选择 EGLEGL Web 作为项目类型来构造 EGL 项目。您在完成创建项目的步骤期间指定属性。在完成那些步骤之后,要开始修改您所作的选择,请右键单击项目名,在上下文菜单显示后,单击属性

EGL 属性如下所示:
EGL 源文件夹
一个或多个项目文件夹,这些项目文件夹是项目的包的根文件夹,这些项目文件夹的每一个都是一组子目录。源文件夹对于将 EGL 源文件与 Java™ 文件分隔开以及将 EGL 源文件存放在 Web 部署目录外部而言非常有用。建议您在所有情况下都指定 EGL 源文件夹;但如果未指定源文件夹,则唯一的源文件夹是项目目录。

此属性的值存储在项目目录中名为 .eglpath 的文件中,并且保存在用来存储 EGL 文件的存储库(如果有的话)中。

每个 EGL 项目向导都创建一个名为 EGLSource 的源文件夹。

EGL 构建路径
项目列表,对于在当前项目中找不到的任何部件,将搜索此列表。

此属性的值存储在项目目录中名为 .eglpath 的文件中,并且保存在用来存储 EGL 文件的存储库(如果有的话)中。

在以下 .eglpath 文件示例中,EGLSource 是当前项目中的源文件夹,AnotherProject 是 EGL 路径中的一个项目:
  <?xml version="1.0" encoding="UTF-8"?>
  <eglpath>
    <eglpathentry kind="src" path="EGLSource"/>
    <eglpathentry kind="src" path="\AnotherProject"/>
  </eglpath>

AnotherProject 的源文件夹根据项目中的 .eglpath 文件确定。

缺省构建描述符
构建描述符,它们使您能够快速地生成输出,如工作台中的生成中所述。

包是相关源部件的命名集合。在创建构建部件时没有使用任何包。

按照约定,通过将您所在机构的因特网域名倒置作为包名的初始部分来使包名具有唯一性。例如,IBM® 域名为 ibm.com,而 EGL 包以“com.ibm”开头。通过使用此约定,就可以在一定程度上确保您所在机构开发的 Web 程序的名称不会与另一机构开发的程序的名称重复,并且这些程序可以安装在同一台服务器上而不可能导致名称冲突。

给定的包的文件夹由包名标识,包名是由句点(.)隔开的标识序列,如以下示例所示:
  com.mycom.mypack
每个标识都与 EGL 源文件夹下的某个子文件夹相对应。例如,com.mycom.mypack 的目录结构为 \com\mycom\mypack,源文件存储在最底层的文件夹中;在此示例中,文件存储在 mypack 中。如果工作空间是 c:\myWorkspace,如果项目是 new.project,并且,如果源文件夹是 EGLSource,则该包的路径如下所示:
  c:\myWorkspace\new.project\EGLSource\com\mycom\mypack

EGL 文件中的部件全都属于同一个包。文件的 package 语句(如果有的话)指定了那个包的名称。如果未指定 package 语句,则部件直接存储在源文件夹中,并且被称为位于缺省包中。由于缺省包中的文件不能被其它包或项目中的部件共享,因此建议您始终指定 package 语句。

不能在同一个包中定义两个具有相同标识的部件。强烈建议您避免在不同的项目或不同的文件夹下使用相同的包名。

生成的 Java 输出的包与 EGL 文件包相同。

EGL 文件

每个 EGL 文件都属于下列其中一个类别:

源文件
EGL 源文件(扩展名为 .egl)包含逻辑、数据和用户界面部件,并且是以 EGL 源格式编写的。
下列每个可生成部件都可以变换为可编译单元:
  • DataTable
  • FormGroup
  • Handler(报告处理程序的基础)
  • Library
  • PageHandler
  • Program

EGL 源文件可以不包含子部件,也可以包含多个不可生成部件,但不能包含多个可生成部件。可生成部件(如果有的话)必须位于文件的顶层,并且必须与文件同名。

构建文件
EGL 构建文件(扩展名为 .eglbld)包含任意数目的构建部件,并且是使用可扩展标记语言(XML)以 EGL 构建文件格式编写的。您可以查看相关的 DTD,它位于以下目录中:
installationDir\egl\eclipse\plugins\
com.ibm.etools.egl_version
installationDir
产品安装目录,如 C:\Program Files\IBM\Rational\SPD\6.0。如果在安装您要使用的产品之前安装了 Rational® Developer 产品并将它保留下来,则可能需要指定在之前安装中使用的目录。
version
插件的已安装版本;例如,6.0.0

文件名(如 egl_wssd_6_0.dtd)以字母 egl 和下划线开头。字符 wssd 指的是 Rational Web Developer 和 Rational Application Developer;字符 wsed 指的是 Rational Application Developer for z/OS®;而字符 wdsc 指的是 Rational Application Developer for iSeries™。

在将部件添加至文件之后,可以使用存储库来维护更改历史记录。

建议

本节提供有关设置开发项目的建议。

关于构建描述符

小组项目应该指定一位人员作为构建描述符开发者。该人员的任务如下所示:
  • 为源代码开发者创建构建描述符。
  • 将那些构建描述符放在与源代码项目分开的项目中;并将那个独立的项目放在存储库中,或者通过其它一些方法使之可用
  • 请源代码开发者在他们的项目中设置缺省构建描述符属性,以使该属性引用适当的构建描述符
  • 如果有一小部分构建描述符选项(如用户标识和密码)随源代码开发者的不同而有所变化,则请每位源代码开发者执行下列操作:
    • 编写一个使用 nextBuildDescriptor 选项来指向组构建描述符的个人构建描述符
    • 请源代码开发者在他们的文件、文件夹或包中设置缺省构建描述符属性,以使该属性引用个人构建描述符。由于项目级别属性和其它项目信息一样处于存储库的控制之下,所以他们不在项目级别指定属性。

有关其它信息,请参阅构建描述符部件

关于包

关于包,我们有以下建议:
  • 不要在不同的项目或源目录中使用相同的包名
  • 不要使用缺省包

部件指定

对于部件,许多建议指的是良好的习惯,而不是硬性要求。即使是可选的建议也应该采纳,除非您有很好的理由不这么做:
  • 其中一项要求是将 JSP 与它们的相关 PageHandler 放在同一个项目中。
  • 如果不可生成部件(如记录部件)仅由一个程序、库或 PageHandler 使用,则将该不可生成部件与使用它的部件放在同一个文件中。
  • 如果从同一个包中的不同文件中引用某个部件,则将该部件放在那个包中的独立文件中。
  • 如果在单个项目中的各个包之间共享某个部件,则将该部件放在该项目中的独立包中。
  • 将完全不相关的应用程序的代码放在不同的项目中。项目是在本地目录结构与存储库之间传送代码的单元。应该将项目结构设计成使开发者能够将必须装入开发系统的代码量降至最低。
  • 对项目、包和文件的命名方式应该能够反映它们所包含的部件的用途。
  • 如果您的过程强调开发者的代码所有权,则不要将不同所有者的部件指定到同一个文件中。
  • 在清楚了解包的用途的情况下将部件指定给包;并按那些部件之间的关系的紧密程度对它们进行分组。
    以下区别十分重要:
    • 如果将一个部件从同一个包中的一个文件移至另一文件,则不会要求更改其它文件中的 import 语句。
    • 如果将一个部件从一个包移至另一个包,则可能要求在引用所移动的部件的每个文件中添加或更改 import 语句。
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.