构建基本的基于 Eclipse 的应用程序
现在,您应该已经理解了 JNLP 文件的作用,以及使用 JWS 部署应用程序需要在该文件中包含哪些信息。您应该已经建立了一台 Web 服务器,并且可以通过正确的关联启动 JNLP 文件。具备对 JWS 和 JNLP 文件的基本理解之后,您可以开始构建基于 Eclipse 的应用程序。
安装 Eclipse
首先,您需要下载 Eclipse Platform SDK(如果您尚未安装 Eclipse)。如果您已经安装了 Eclipse,则可以使用已有版本。安装好 Platform SDK 之后,您还需要安装 Eclipse Plug-in Development Environment 特性(图 2 给出了在安装程序中选中该特性的例子)。要了解关于在 Eclipse 中安装插件的更多信息,请参见 参考资料 小节。
图 2. 选择 Eclipse Plug-in Development Environment
创建新产品
 |
签出示例
要在 Eclipse 中查看示例,需签出示例 Web 浏览器。代码可通过 Concurrent Versions System (CVS) 获得。为此,您必须在计算机安装一个 CVS 客户端。您可以使用以下命令将项目签出:cvs -d
:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse
export -r HEAD org.eclipse.ui.examples.rcp.browser。将项目签出到本地之后,您可以将它导入到 Eclipse 工作空间中。
|
|
要了解 JWS 部署的实际情况,需要创建一个新产品。您的产品将包含一个应用程序,它会在 Eclipse 启动程序(launcher)启动 Eclipse 平台时自动加载。
该应用程序提供了一个简单的视图,您可以通过它了解应用程序是否已正常加载,这与经典的 Hello World 应用程序相似。视图将在工作台的新视区(perspective)中打开。这些类的 Unified Modeling Language (UML) 范例如图 3 所示。
图 3. 产品的基本类的 UML
考虑到简洁性,我已经保持这些类尽可能简单。它们足以显示一个新的自定义产品正被加载到它自己的自定义视图中。如果您构建了自己的产品,那么可以添加菜单栏、其他视图、帮助屏幕等。要添加这些自定义特性,请参见 参考资料
小节获取关于扩展 Eclipse 的更多信息。
要构建一个简单的产品示例,首先应构建一个新的插件项目。选择 File > New > Project。在 Select a wizard 窗口中,展开 Plug-in Development,然后选择 Plug-in Project,如图 4 所示。单击 Next 以继续。
图 4. 选择插件项目
在 Project name 中,键入合适的项目名称。我比较愿意使用插件的基本包名作为项目名称,比如 com.nathanagood.examples.rcp.simpleApp。Eclipse 的插件项目似乎采用的也是这种命名方式,因此我遵循此命名约定。键入项目名称之后,保留其他值为默认值不变。
图 5. 输入项目信息
在 Plug-in Content 窗口中(如图 6 所示),您可以调整插件的名称、提供商的名称以及它们的版本。我在 Plug-in ID 的默认值后面添加了 .plugin,但仅仅是出于个人喜好。完全没有必要修改它们。如果您希望修改 Activator 类的名称或类的包名,那么可以在此窗口中完成。完成所有修改之后,单击 Next。
图 6. 输入插件内容
Templates 页面(如图 7 所示)包含一个模板列表,您可以通过这些模板开始创建插件。由于我希望创建一个示例视图,然后再向其添加产品和应用程序扩展,因此我选择的是 Plug-in with a view。选择希望使用的模板,然后单击 Finish 构建项目。
图 7. 选择模板
完成示例项目
现在,您已经创建了一个带视图的新插件项目。依照以下步骤完成示例项目的构建:
- 展开
WorkbenchAdvisor 类(在本例中为 SimpleApplicationAdvisor)。
该类中的一个方法将返回在应用程序初始化时加载的视区 ID,以便您可以立即看到带自定义视图的自定义视区,而不会看到 Welcome 工作台。
- 创建一个
IPerspectiveFactory
的实现(即 SimpleAppPerspectiveFactory)。
通过修改传递给 createInitialLayout() 方法的 IPageLayout,工厂将创建您的初始视区。
- 展开
WorkbenchWindowAdvisor(即 SimpleWindowAdvisor)。
通过覆盖 preWindowOpen(),您可以设置工作台的初始大小和其他属性。
- 创建一个
IApplication
的实现( SimpleApplication)。
该实现类创建并运行您的自定义工作台配置,以便在启动时加载您的视区和视图。
这些类的示例可以从本教程提供的 代码示例 中获取。
修改 plugin.xml 文件
创建好这些类之后,修改 plugin.xml 文件,添加与刚才创建的所有类相关联的扩展点。像本教程这样先编写所有类的优点在于,您可以使用图形编辑器来为 plugin.xml 文件选择扩展点和类。虽然您也可以方便地手动编辑源 XML,但使用 GUI 添加扩展点可以减少错误输入类名或扩展点的可能性。当我错误输入 ID 或类名后,复制和粘贴性错误成了故障诊断的主要原因。
图 8 显示了图形 Plug-in Manifest Editor 的 Extensions 选项卡上的扩展点。
图 8. 扩展点
清单 2 显示了 plugin.xml 文件的一个例子。
清单 2. 示例 plugin.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension point="org.eclipse.ui.views">
<category name="Sample Category"
id="com.nathanagood.examples.rcp.simpleApp.plugin"></category>
<view name="Sample View" icon="icons/sample.gif"
category="com.nathanagood.examples.rcp.simpleApp.plugin"
class="com.nathanagood.examples.rcp.simpleapp.plugin.views.SampleView"
id="com.nathanagood.examples.rcp.simpleapp.plugin.views.SampleView">
</view>
</extension>
<extension point="org.eclipse.ui.perspectives">
<perspective id="com.nathanagood.examples.rcp.simpleApp.plugin.perspective"
name="Simple App Perspective"
class="com.nathanagood.examples.rcp.simpleapp.SimpleAppPerspectiveFactory"
fixed="false" />
</extension>
<extension point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension targetID="org.eclipse.jdt.ui.JavaPerspective">
<view ratio="0.5" relative="org.eclipse.ui.views.TaskList"
relationship="right"
id="com.nathanagood.examples.rcp.simpleapp.plugin.views.SampleView">
</view>
</perspectiveExtension>
</extension>
<extension point="org.eclipse.help.contexts">
<contexts file="contexts.xml"></contexts>
</extension>
<extension point="org.eclipse.core.runtime.products"
id="product">
<product name="Simple App"
application="com.nathanagood.examples.rcp.simpleApp.plugin.app">
<property name="appName" value="Simple App" />
</product>
</extension>
<extension id="app"
point="org.eclipse.core.runtime.applications">
<application>
<run class="com.nathanagood.examples.rcp.simpleapp.SimpleApplication">
</run>
</application>
</extension>
</plugin>
|

 |

|
添加配置文件
修改和保存 plugin.xml 文件之后,下一步是添加产品配置文件,该文件通知 Eclipse Platform 关于您产品的信息:
- 选择 File > New > Product Configuration。
此时将出现 Product Configuration 窗口。
图 9. 产品配置
- 选择您的插件项目作为父文件夹。
- 添加文件名称(例如
SimpleApplication.product)。
- 选择 Use an existing product,然后从列表中选择您产品的 ID。
它就是您在 org.eclipse.core.runtime.products 扩展点下面的 plugin.xml 文件中定义的产品 ID。
添加产品配置文件之后,您可以使用图形 Product Configuration Editor 编辑产品的详细信息。在 Overview 选项卡中,单击 Synchronize 确保配置是最新的。现在,您可以单击 Launch an Eclipse Application(如图 10 所示)来测试您的产品。如果您需要调试它,请单击 Launch an Eclipse application in Debug mode。
图 10. 启动 Eclipse 应用程序
运行产品
在继续之前,确保您可以成功运行您的产品。现在确保正常运行可以避免以后的问题和故障诊断。启动后的代码如图 11 所示。
图 11. 简单的示例应用程序
|