如何在Mac系统安装eclipse安装java并运行java程序

保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
单击提交则表示您同意developerWorks
的条款和条件。 .
所有提交的信息确保安全。
developerWorks 社区:
我的概要信息
选择语言:
了解如何在 Eclipse Framework 的基础上构建功能最简单的应用程序,并通过 Java™ Web
Start (JWS) 部署它 — JWS 技术允许您方便在标准 Internet 站点上部署 Java
应用程序,并简化了升级和分发过程。
, 高级信息工程师, 自由开发人员
Nathan Good 居住在美国明尼苏达州的 Twin Cities。他的职业包括软件开发、软件架构和系统管理。在编写软件之余,他喜欢搭建 PC 和服务器、阅读和实践新技术,以及尝试说服朋友迁移到开源软件。他编写和参与编写了许多书籍和文章,包括 Professional Red Hat Enterprise Linux 3, Regular Expression Recipes: A Problem-Solution Approach 和 Foundations of PEAR: Rapid PHP Development。
开始之前关于本教程在开始构建应用程序时,我决定使用 Java 编程语言作为实现语言。我希望编写可以在 Microsoft®
Windows®、Linux® 或 Mac OS X
上运行的应用程序。应用程序需要使用本地资源,因此将它作为独立应用程序来构建要比作为 Web
应用程序更加有意义。但是,我在部署时遇到了麻烦。我希望能够方便地部署应用程序来完成初始安装,并希望能够方便地推出更新,而不需要在应用程序中构建更新框架。通过
JWS 技术, 您只需一个单击操作便可将应用程序部署到 Internet 上。 如果您能够在 Eclipse Platform 上构建应用程序,那么通过结合
JWS,您可以比构建和推出安装程序更加轻松地部署一些重要的企业级工具。本教程演示如何构建基于 Eclipse Platform 的应用程序,以及如何通过 JWS 部署该应用程序。不要将它与在 Eclipse 中使用
Standard Widget Toolkit (SWT) 构建 Rich Client Platform (RCP) 应用程序,以及使用 JWS
分发它相混淆( 小节提供了如何实现此任务的相关教程)。目标阅读本教程之后,您应该能够使用 JSW 开发扩展 Eclipse Platform 的产品,并部署基于 Eclipse 的应用程序。先决条件您应该熟悉 Eclipse 和 Java 编程语言。在阅读 XML 示例时,了解 XML 知识将有所帮助。系统需求要运行示例,您必须安装和运行
或 更新版本。您还需要
或更新版本。要运行 JWS 示例,您需要访问运行中的 Web 服务器,并能向 Web 服务添加 MIME
类型关联(如果未正确配置)。理想情况下,您应该拥有可用于测试的本地开发 Web 服务器。Eclipse Framework 概述Eclipse Java 集成开发环境 (IDE) 构建于 Eclipse Platform 之上。大多数人使用的默认 Java IDE
是带基本插件集的标准 Eclipse Platform,这些插件将自动安装在可下载的 Eclipse 分发版中。这些插件为用户提供了与 IDE
相类似的体验。在 Eclipse 站点中,您可以仅下载 Eclipse Platform 软件开发包 (SDK)。借助 Eclipse Platform
SDK,您需要安装额外插件才能进行 Java 开发。如果您尝试使用向导创建新项目,则会发现没有常用的可用向导(比如 Java
Project)。由于行为有限,Eclipse Platform SDK 就其自身来说并不是特别实用。但 Eclipse Platform SDK
提供了一个用于构建应用程序的框架,所以通过它来构建更加强大的工具是非常有用的。在 Eclipse Platform 上构建了特性,并且拥有自己的应用程序之后,下一步就是将它部署到您的用户。您可以使用 JWS 机制来部署 Java
应用程序。使用 Java 语言编写的 Eclipse 也不例外。当用户单击链接时,JWS 使您能够轻松地通过 Internet
部署应用程序。RCP 应用程序借助 Eclipse,您还可以使用 SWT 构建 RCP 应用程序。此流程与构建基于 Eclipse Platform 的应用程序产品有所不同。使用
SWT 构建的应用程序更加简洁轻巧,并且不需要扩展 Eclipse Platform。如果您要构建不扩展 Eclipse Platform
的应用程序,可以考虑使用 SWT;您仍然可以使用 JWS 分发 SWT 应用程序。Java Web Start 概述JWS 允许您将独立 Java 应用程序部署到 Internet 上,这只需一个单击操作即可完成。您的用户单击到扩展名为 .jnlp(Java
Network Launch Protocol)的 XML 文件的链接,其他任务将由 JWS 完成。使用 JNLP,JWS
将下载所需的文件,缓存它们并启动应用程序。作为一名开发人员,您将必要的文件 — 比如 Java Archives (JAR) — 放置在可以通过 Web
服务器访问的位置。JNLP 文件包含的信息将通知您用户计算机上的 JWS 客户机从何处获取 JAR 文件。因此,不必将独立 Java
应用程序部署到用户的所有计算机中,您只需将应用程序部署到您的 Web 服务器。您的用户将从中访问应用程序。除了部署之外,JWS 还极大地简化了更新。当 JWS 应用程序启动时,用户计算机上的 JWS
客户机将尝试找到服务器,并确保客户机拥有最新的文件。如果本地文件已经过期,那么它会自动将更新文件下载到客户机中。更新对于用户或多或少是透明的,这提供了一个理想的环境来部署基于
Eclipse Platform 的应用程序。安全性应用程序通常要求用户具备较高的权限来安装它们。用户需要比平常具备更高的权限,这将阻碍用户在计算机中安装应用程序 —
特别是在大公司中。由于 JWS 将 JAR 缓存在非系统目录中,因此用户不需要提升权限便可在本地安装和运行 JWS 应用程序。
相对受限的用户能够利用 JWS,这是在大型组织中考虑使用 JWS 进行部署的另一个具有说服力的原因。JWS 在 “沙箱化” 执行中运行应用程序,这类似于 Java applet。JNLP
文件中的条目(详见下文)允许您请求访问系统和网络的许可。要请求所有许可,您必须对 JAR 进行签名。只要您有密钥库,Eclipse
就会替您完成此任务。(关于配置 Eclipse 使用您的密钥库的更多信息请参见 “封装应用程序” 小节)。离线运行当您的用户下载并初次应用程序之后,并且 JWS 在其本地缓存中拥有所需的资源,则您的用户可以随意使用应用程序而不需要连接到
Internet(只要您的应用程序不需要连接到 Internet)。JWS 可以仅使用本地缓存的资源来运行应用程序。设置安装 JWS如果您拥有 Java Platform, Standard Edition (Java SE) V5 或更高版本,那么它已经安装了 JWS。如果您使用
Windows,则 JWS 安装在 Java 主目录中(例如 C:\Program Files\Java\jre\bin)。在 On Mac OS
X 上,JWS 位于 Applications/Utilities/Java。您可以直接启动 JWS 控制台,而不需要实际安装或运行 JWS
应用程序。通过启动 JWS 控制台,您可以在 JWS 缓存中查看应用程序。在控制台中,您可以启动已经安装的任何 JWS
应用程序,从缓存中删除它们,或安装到应用程序的快捷方式。要启动控制台,键入以下命令,确保 Java 在您的路径中:javaws -viewer启动后,查看器将如图 1 所示。如果从未使用过 JWS,那么可能未安装任何应用程序。图 1. Java Web Start 查看器如果未安装 Java Runtime Environment (JRE),请下载最新版本的 JRE 并安装它。只要它是 Java SE V5
或更高版本,其中就包括 JWS。配置 Web 服务器在大多数情况下,JWS 应该会在您打开 JNLP 文件时自动启动。如果 JNLP 文件位于未正确关联 JNLP 文件的 Web
服务器上,那么您可以下载文件并在本地打开它。实际上,我之前通过电子邮件向其他人发送过 JNLP 文件 — 资源仍然位于文件中的 URL
指定的地址,并且接收者能够使用 JWS 成功运行应用程序。如果您将设置一台 Web 服务器来托管 JNLP 文件(这是最简单的分发方法),那么您需要添加以下文件关联:application/x-java-jnlp-file JNLP依照您 Web 服务器的文档来正确设置 MIME 关联。如果您使用的是 ISP,那么可以参考 ISP 的文档来了解如何添加 JNLP MIME
类型。JNLP 文件结构JNLP 文件是一个 XML 文件,其中定义了 JWS 如何下载和使用应用程序。它将帮助您理解 JNLP 文件的不同部分,让您有把握地修改它。清单 1 显示了一个基本的 JNLP 文件。它只包含通过 JWS 分发独立应用程序所需的基本元素。清单 1. 基本 JNLP 文件&?xml version="1.0" encoding="utf-8"?&
&jnlp spec="1.0+" codebase="/applications/" href="app.jnlp"&
&information&
&title&Application Title&/title&
&vendor&Application Vendor&/vendor&
&homepage href="" /&
&description&This is an applicatio,.&/description&
&/information&
&security&
&all-permissions /&
&/security&
&!-- The name of the main class to execute. --&
&application-desc main-class="com.example.MyMainClass"&
&/application-desc&
&resources&
&jar href="exampleApp.jar" /&
&/resources&
&/jnlp&清单 1 中的示例将告诉 JWS 从 URL 下载 exampleApp.jar 文件。完整的 URL 为
/applications/exampleApp.jar。下载 JAR 后,JWS 将执行
com.example.MyMainClass 类。假定类需要运行的一切内容都包含在 exampleApp.jar
中,它会在用户自己执行初始化时运行。此文件相当于运行以下命令:java -cp exampleApp.jar com.example.MyMainClass在本例中,由于出现了 &all-permissions& 元素,因此必须对 exampleApp.jar
进行签名。&jnlp& 元素是文件的根元素,它的属性如表 1 所示。表 1. &jnlp& 元素属性属性描述spec此文件将遵循的最小版本的 JNLP 规范codebase应用程序的基本 URL(文件中的其他 URL 将相对于此基本
URL)hrefJNLP 文件自身的 URL(JNLP 文件可以离线使用,并且此 URL
将告诉 JWS 在哪里可以找到在线版本的文件)version应用程序和 JNLP 文件的版本(在构建 JWS
应用程序时,将它们看作是相同的)&information& 元素的属性如表 2 所示。表 2. &information&
元素的属性属性描述osJWS 应用程序支持的操作系统arch支持的架构(处理器)platform支持的平台locale支持的区域其他必要元素:&title& 元素包含应用程序的标题。它显示在 JWS 控制面板中。当用户使用 JWS
启动应用程序时,它也会显示。&vendor& 元素包含应用程序软件供应商的名称。&resources& 元素包含与应用程序所需资源相关的信息。此处的资源包括
JAR,其中包含应用程序使用的或应用程序可以设置及使用的属性。通常,资源可以列出在表 3 所示的任何一个元素中(完整清单请参见
小节)。表 3. 典型的 &resource&
元素元素描述&jar&包含到 JAR 的 href 的
href 属性&nativelib&包含到本机库 JAR 的
href 的 href 属性&j2se&指定给虚拟机 (VM) 的版本和参数&property&指定可由
System.getProperty 找到的属性有关 JNLP 文件的完整语法,请参见
小节 Sun Microsystems
文档链接。构建基本的基于 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创建新产品要了解 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"?&
&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"&
&/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"&
&/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"&
&/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. 简单的示例应用程序封装应用程序现在,您应该已经对 JWS 和 JNLP 文件有了基本的理解。您应该已经建立了一个 Web 服务器,可以通过它来发布产品的文件和 JNLP
文件,并且,您应该可以从 Eclipse IDE
中启动您的工作产品。完成所有这些任务之后,您可以构建一个包装器特性,并使用它来发布您的产品。创建包装器特性包装器特性仅仅是一个由两个文件组成的特性项目,每个文件都包含到产品插件和运行产品插件所有的任何插件和特性的引用。要添加新包装器特性,选择
File & New & Project。然后,在 Select a
wizard 窗口中,展开 Plug-in Development 并选择
Feature Project,如图 12 所示。图 12. 创建新特性项目在 Feature Properties 窗口中,键入项目名称、特性 ID、版本和提供商信息,如图 13
所示。然后,单击 Next。图 13. 编辑特性属性在 Referenced Plug-ins and Fragments 窗口中,如图 14 所示,选择
Initialize from a launch
configuration,然后从列表中选择产品配置文件的名称(例如
SimpleApp.product)。完成后,单击 Finish。图 14. 选择产品配置新的特性将包含两文件:build.properties 和 feature.xml。feature.xml
文件有一个与图形产品配置和插件编辑器相似的图形编辑器。打开 feature.xml 文件的图形编辑器。在 Plug-ins 选项卡中,确保您的产品插件列于其中。此外,验证
org.eclipse.equinox.launcher 插件也列于其中。在
Features 选项卡中,添加您插件或特性需要的任何额外特性。如果您急于使用 JWS
查看您的产品,则可以选择所有项目;这不会造成任何损害,仅仅会影响您应用程序的目录大小。但是,在真实世界的产品中,您应该跟踪依赖关系,以确保下载的文件尽可能小。导出包装器特性选择插件和特性之后,您可以将特性包装器项目导出到某个目录中。要导出项目,选择 File & Export。在
Select 窗口中,展开 Plug-in
Development,然后单击 Deployable Features,如图 15 所示。单击
Next。图 15. 创建可部署的特性现在:在 Deployable features 窗口中选择您的特性,如图 16 所示。 图 16. 选择要部署的特性在 Destination 选项卡中,单击 Directory
并键入要在其中发布文件的目录的名称。该目录必须位于网络文件下,以便可以通过您在 Java Web
Start 选项卡中提供的 URL 来访问它。在 Options 选项卡中,选择 Package as individual JAR
archives。在 JAR Signing 选项卡中,选择 Sign the JAR archives
using a keystore。然后,浏览到密钥库位置并键入别名(alias)和密码。
注意:如果您没有密钥库,请参见
小节,获取这方面的信息。在 Java Web Start 选项卡中,选择 Create JNLP
manifests for JAR archives。将 Site URL 更新为 JWS 目录的基本 URL。在浏览器中访问此 URL 时,它应该会访问您在
Destination 选项卡中输入的目录。 图 17. 设置 JWS 属性更新了与特性部署相关的信息后,单击 Finish。Eclipse
将导出所提供目录中的信息。根据所选择的插件和特性的数量,以及您的硬件资源,它可能需要花费一些时间来导出特性。当 Eclipse
完成此任务后,所提供的目录中将包括两新目录:features 和 plugins。您特性的 JNLP 文件将包含在 features 目录中。清单
3 给出了 features 目录中的内容的一个例子。Listing 3. features 目录的内容$ ls
com.nathanagood.examples.simpleApp.feature_1.0.0.jar
com.nathanagood.examples.simpleApp.feature_1.0.0.jnlp
org.eclipse.equinox.p2.user.ui.source_1.0.1.r34x_vd-7OEMsLAz-vTBJ.jar
org.eclipse.equinox.p2.user.ui.source_1.0.1.r34x_vd-7OEMsLAz-vTBJ.jnlp
org.eclipse.equinox.p2.user.ui_1.0.1.r34x_vd-7OEMsLAz-vTBJ-ZHQaF155CE.jar
org.eclipse.equinox.p2.user.ui_1.0.1.r34x_vd-7OEMsLAz-vTBJ-ZHQaF155CE.jnlp
org.eclipse.help.source_1.0.1.R34x_vr7xEIxEI6Zu5nEqN7M3UBpglaat.jar
org.eclipse.help.source_1.0.1.R34x_vr7xEIxEI6Zu5nEqN7M3UBpglaat.jnlp
or,.eclipse.help_1.0.1.R34x_vr7xEIxEI6Zu5nEqN7M3UBpglaat.jar
org.eclipse.help_1.0.1.R34x_vr7xEIxEI6Zu5nEqN7M3UBpglaat.jnlp
org.eclipse.platform.source_3.4.1.r341_vI96EiDElYevwz.jar
org.eclipse.platform.source_3.4.1.r341_vI96EiDElYevwz.jnlp
org.eclipse.platform_3.4.1.r341_vI96EiDElYevwz-p1bP5z-NlAaP7vtX6Utotqsu.jar
org.eclipse.platform_3.4.1.r341_vI96EiDElYevwz-p1bP5z-NlAaP7vtX6Utotqsu.jnlp
org.eclipse.rcp.source_3.4.100.r341_vJESIEdAciFYfkZZsBfSwQ2341.jar
org.eclipse.rcp.source_3.4.100.r341_vJESIEdAciFYfkZZsBfSwQ2341.jnlp
org.eclipse.rcp_3.4.100.r341_vJESIEdAciFYfkZZsBfSwQ2341.jar
org.eclipse.rcp_3.4.100.r341_vJESIEdAciFYfkZZsBfSwQ2341.jnlp将包装器特性成功导入到可从 Web 服务器访问的目录之后,下一步是构建应用程序的主 JNLP 文件。JNLP 文件在本节中,您将构建和发布您的 JNLP 文件。然后,您将测试部署并执行任何必要的故障诊断。构建 JNLP 文件现在,您应该已经成功将特性导出到某个目录中,并已验证可以通过 Web 服务器访问 features 和 plugins 目录。现在为您的应用程序编写
JNLP 文件。下面给出了 JNLP 文件的一个完整示例。 清单 4. 简单应用程序的示例 JNLP 文件&?xml version="1.0" encoding="utf-8"?&
&jnlp spec="1.0+"
codebase="http://localhost/~user/jws2" href="simpleapp.jnlp"&
&information&
&title&SimpleApp Test&/title&
&vendor&Nathan Good&/vendor&
&homepage href="" /&
&description&This is my simple JWS Eclipse
application test.&/description&
&/information&
&!--request all permissions from the application. This does not change--&
&security&
&all-permissions /&
&/security&
&!-- The name of the main class to execute. This does not change--&
&application-desc main-class="org.eclipse.equinox.launcher.WebStartMain"&
&/application-desc&
&resources&
&jar href="plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v.jar"/&
&extension name="Simple App Feature"
href="features/com.nathanagood.examples.simpleApp.feature_1.0.0.jnlp" /&
&property name="eclipse.product"
value="com.nathanagood.examples.rcp.simpleApp.plugin.product" /&
&/resources&
&resources os="Mac"&
&j2se version="1.5+" java-vm-args="-XstartOnFirstThread" /&
&/resources&
&resources os="Windows"&
&j2se version="1.4+" /&
&/resources&
&resources os="Linux"&
&j2se version="1.4+" /&
&/resources&
&/jnlp&在此 JNLP 文件中,codebase 属性的值设置为在其中发布包装器特性的位置的基本 URL。它应该与图 17 中
Deployable features 窗口的 Java Web
start 选项卡中所使用的 URL 相匹配。href 属性是您的 JNLP
文件的名称。&information&
元素包含与被分发的应用程序相关的标题、描述和其他信息。&security& 和
&application-desc& 元素需要与清单保持 4 一致。修改 &resources& 元素,在其中包含 &jar& 元素的
Equinox 启动程序插件的正确版本。您可能需要在 features 目录中获取启动程序的 JAR 的正确完整名称。随着新版本文件的推出,清单 4
中列出的名称可能很快就会过时。更新 &extension& 元素的 href 属性,在其中包含包装器特性的 JNLP
文件的 URL(codebase 属性中的 URL)。您包装器特性的 JNLP
文件将包含其他所有需要的特性的特性。最后,更新 &property& 元素,在其中包含您产品的 ID。此 ID 为插件产品配置文件中的 ID(即
SimpleApp.product)。发布 JNLP 文件现在,您已经创建了 JNLP 文件。您可以从 features 和 plugins
目录导出可部署的部署。特性已经包括您的插件和依赖关系。接下来可以发布 JNLP 文件。JNLP 文件所在目录与 features 和 plugins 目录相同。它应该是您在导出可部署特性时所使用的相同目录。清单 5
显示了目录清单的一个例子。清单 5. JNLP 文件的目录清单drwxr-xr-x
680 Dec 19 09:46 features
drwxr-xr-x
9520 Dec 19 09:46 plugins
-rw-r--r--
1222 Dec 19 10:05 simpleapp.jnlp要简化文件的测试,创建一个简单的 HTML 页面并将它命名为 index.html。它应该包含如清单 6 所示的代码。其中
simpleapp.jnlp 已更新为您 JNLP 文件的名称。清单 6. 示例 HTML 文件&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"&
&title&My Application&/title&
&a href="simpleapp.jnlp"&My Application&/a&
&/html&将 HTML 文件保存在可以从应用程序主 JNLP 文件中的 URL 访问的文件夹中。将 HTML 文件保存在该目录中之后,目录清单应如清单 7
所示。清单 7. 目录中的所有文件drwxr-xr-x
680 Dec 19 09:46 features
-rw-r--r--
288 Dec 19 08:37 index.html
drwxr-xr-x
9520 Dec 19 09:46 plugins
-rw-r--r--
1222 Dec 19 10:05 simpleapp.jnlp测试部署现在,您已经:理解 JNLP 文件的基本结构。通过合适的 MIME 类型配置了您的 Web 服务器。在插件项目中构建了一个基本 Eclipse 产品。拥有一个包含插件的包装器特性项目。将包装器特性导出到某个目录中。为您的应用程序创建并保存了一个 JNLP 文件。现在可以开始测试部署了。打开 Web 浏览器并导航到您为 codebase URL 提供的 URL(例如
http://localhost/~user/jws/)。此时应打开您在 “发布 JNLP 文件” 小节中创建的
index.html。单击链接。只要所有配置正确,就会出现一个 JWS 欢迎屏幕(如图 18
所示)。然后会显示应用程序的下载进度。根据您的特性及插件的最终大小,以及网络连接的状态,此过程可能需要一些时间。图 18. JWS 欢迎屏幕下载完所有依赖关系之后,浏览器将打开应用程序。本例中的简单视图如图 19 所示。图 19. 通过 JWS 启动的简单应用程序故障诊断在构建第一个通过 JWS 部署的 Eclipse 产品示例时,我遇到了一些问题:JNLP 文件以文本形式显示在浏览器中。如果出现这种情况,最可能的原因是 Web 服务器的配置中缺少
JNLP 类型的 MIME 类型关联。确保关联了 MIME 类型(参见 “配置您的 Web 服务器” 小节。无法启动应用程序。如果 JWS 出现这种情况,单击 Details
获取关于错误的更多信息。如果该错误为 java.io.FileNotFoundException,则有可能是因为
URL 不正确造成的。当我重新命名初始 JNLP 文件,但忘记更新 &jnlp& 元素的
href 属性的值时,我遇到了此错误。无法加载资源。与之前的错误相似,您需要单击 Details
才能看到此消息。当我尝试在不同的计算机上测试应用程序时,遇到了这个错误。在本例的 URL 中,我使用 localhost
作为主机的名称。要解决此问题,将 URL 更改为 IP 地址或用于发布 JNLP 文件的服务器的主机名。JWS 看上去已经启动,但没有任何内容并且 JWS 是关闭的。造成此问题最有可能的原因是
&resources& 元素中的 eclipse.product 属性的产品
ID 值不正确。检查产品 ID 的值,并确保它与产品配置文件中的 ID 相一致(SimpleApp.product)。结束语本教程演示了如何构建一个简单的产品 — 在 Eclipse Platform 上构建的应用程序 — 并使用 JWS
将它部署给您的用户。通过遵循本文中的步骤并添加您自己的扩展,您可以构建一个复杂的、可以从一处部署到许多平台的应用程序。更新非常简单,只需将更新部署到
JWS 资源所在的目录。要成功构建产品,您需要对 JNLP
文件的结构有一定的理解。您需要构建一个插件,并至少实现一些类。您需要在插件中提供一些扩展点。最后,您需要向插件项目添加一个产品配置。完成插件项目后,您需要构建一个包装器特性,其中应包含您的插件和所有其他特性。完成包装器特性之后,您可以使用一个 Eclipse
向导将必要的文件部署到目录结构中。一个简单的 JNLP 文件包含到包装器特性的 JNLP 文件的引用。它还包含 Eclipse 运行产品所需的任何额外参数,比如启动产品 ID。
下载描述名字大小源代码25KB
您可以参阅本文在 developerWorks 全球站点上的 。 阅读 “”,了解如何使用 JWS 部署 SWT 应用程序。
阅读 “”,了解如何开发 SWT 应用程序。 有关如何设计和构建基于 Eclipse Platform 的应用程序,请参阅
Eclipse wiki 上的 。 参阅 ,获取关于 Eclipse Platform 的更多信息。 要了解如何在 Eclipse 中安装插件,请参阅 Eclipse wiki 上的
FAQ 。 了解关于 Eclipse 中的
的更多信息。 阅读
了解关于 JNLP 语法的更多信息。 了解如何 ,以便对 JAR 进行签名。 阅读 ,了解最新的 JWS 技术。 查阅 “”。
浏览 developerWorks 上的所有 。 您是刚开始接触 Eclipse 吗?请阅读 developerWorks 文章
“”,了解它的来源和架构,以及如何使用插件扩展 Eclipse。 查阅 IBM developerWorks 上的 ,以提高您的 Eclipse 技能。 要收听针对软件开发人员的有趣访谈和讨论,请访问 。 随时关注 和。 通过免费的 ,体验并了解 IBM 和开放源码技术及产品功能。 查阅最近将在全球举办的面向 IBM
开放源码开发人员的研讨会、交易展览、网络广播和其他 。 访问 developerWorks ,获得丰富的 how-to 信息、工具和项目更新,帮助您使用开放源码技术进行开发,并与 IBM
产品结合使用。 IBM
提供了最新的 。 从 Eclipse
Foundation 下载 。 下载 ,并开始使用来自 DB2®、Lotus®、Rational®、Tivoli® 和
WebSphere® 的应用程序开发工具和中间件产品。 使用
改进您的下一个开源开发项目,可以下载或从 DVD 获得。 应当是讨论关于 Eclipse 的问题的第一站(选择此链接将启动默认的 Usenet 新闻阅读器应用程序并打开
eclipse.platform)。 为对使用和扩展
Eclipse 感兴趣的人员提供了许多参考资料。 参与
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
IBM PureSystems(TM) 系列解决方案是一个专家集成系统
通过学习路线图系统掌握软件开发技能
软件下载、试用版及云计算
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=Open sourceArticleID=380832ArticleTitle=使用 Java Web Ststar 部署基于 Eclipse 的应用程序publish-date=}

我要回帖

更多关于 mac双系统安装教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信