首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 Java Web Start 部署 SWT 应用程序(2)

使用 Java Web Start 部署 SWT 应用程序(2)

构建文件查看器应用程序要构建文件查看器应用程序,请完成以下步骤:
  • 为了清理环境,在将源代码解压缩的目录中执行下面这个命令:           ant clean
  • 执行下面这条命令来启动构建过程:           ant
如果您的环境满足需求并且配置正确,那么您应当会看到类似于下面这样的内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Buildfile: build.xml
init:
compile-common:
compile-module:
    [echo] Compiling ...
package-common:
package-swtlib:
sign-jars:
     [echo] Signing JARS...
  [signjar] Signing Jar : D:\FileViewer\dist\swt-lib.jar
  [signjar] Signing Jar : D:\FileViewer\dist\fileviewer.jar
     [copy] Copying 1 file to D:\FileViewer\dist
  [signjar] Signing Jar : D:\FileViewer\dist\swt-win32.jar
package-web:
      [war] Building war: D:\FileViewer\dist\fileviewer.war
default:
BUILD SUCCESSFUL
Total time: 6 seconds




运行文件查看器应用程序在用 Java Web Start 部署文件查看器应用程序之前,让我们尝试在本地执行该应用程序。为了启动该应用程序,在将源代码解压缩的目录中执行下面这条命令:         ant run
执行这个 Ant 脚本之后,应该会出现文件查看器应用程序。图 2 显示了在Red Hat Linux 8 下运行的该应用程序。
图 2. 在 Red Hat Linux 8上运行的文件查看器


部署和测试文件查看器应用程序要将该应用程序部署到 Tomcat 4,请完成以下步骤:
  • 将           dist 目录中的           fileviewer.war 文件复制到 Tomcat 4 下的           webapps 目录中。
  • 执行该脚本以启动 Tomcat 4。
  • 打开 Web 浏览器,并输入下面这个 URL,然后单击“LaunchApplication”链接:           http://localhost:8080/fileviewer/index.html单击该链接之后,应该会看到下面这幅图像(图 3),此时应用程序的 JAR 文件将会下载至工作站:
    图3. 文件查看器


  • 在第一次下载该应用程序时,会看到下面这个对话框,如图 4 所示:          图 4. 安全性警告


    单击“Start”以启动文件查看器应用程序。
实现 JNLP 文件既然我们已经了解了如何用 Sun 的 Java Web Start 构建、分发和部署SWT 应用程序,那么就让我们重新研究一下如何实现 JNLP 文件。通过 Java Community Process(JCP)管理Java 网络启动协议规范。由于本文的目的在于介绍用 Java Web Start 来部署 SWT应用程序的一些具体细节,因此并没有提供太多这方面的背景信息。关于更多有关 Java WebStart 方面的信息和背景知识,请参考 中列出的 Steve Kim 的文章“Java Web Start”。      
说明了在 SWT 应用程序的 JNLP 文件中所使用的各种标记。      
清单 1. index.jnlp 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1    <?xmlversion="1.0" encoding="utf-8"?>
2       <jnlp spec="1.0+"codebase="http://localhost:8080/fileviewer"href="index.jnlp">
3           <information>
4                   <title>File Viewer</title>
5                   <vendor>IBM developerWorks</vendor>
6                   <homepage href="index.html"/>
7                   <description>File Viewer</description>
8                   <description kind="short">FileViewer</description>
9           </information>
10          <security>
11                   <all-permissions/>
12           </security>
13           <resources>
14                   <j2se version="1.4"/>
15                   <jar href="fileviewer.jar"/>
16                   <nativelib href="swt-lib.jar"/>
17           </resources>
18           <resources os="Windows">
19                   <jar href="swt-win32.jar"/>
20           </resources>
21           <resources os="Linux">
22                   <jar href="swt-linux.jar"/>
23           </resources>
24     <application-descmain-class="org.eclipse.swt.examples.fileviewer.FileViewer"/>
25   </jnlp>




让我们仔细检查一下这个 XML 文件中的一些重要部分:
  • 因为 SWT 应用程序在执行时需要装入系统库,所以它需要能够完全访问用户的工作站。第 10行到第 12 行显示了应用程序如何请求对客户机环境的完全访问权。为了授予 Java Web Start这个级别的访问权限,应用程序的所有 JAR 文件都必须经过数字签名。
  • 正如第 16 行所示,我们需要声明一个           nativelib 标记来告诉 Java Web Start这个 JAR 文件包含本机库。在我们的示例文件查看器应用程序中,这个JAR 文件包含一个 Windows DLL 和一系列用于 Linux 的 SO 文件。
  • 第 18 行到第 23 行为每个操作系统装入相应的 SWT JAR 文件。“resources”标记使您能够保护资源,从而只有特定的操作系统和体系结构能够使用该资源。           os 属性指定了应当考虑使用资源元素的操作系统。这个值基于最终用户的           os.name Java 系统特性。虽然在这个示例中没有用到这个值,但也可以使用           arch 属性进一步限制对 Java 库的访问。           arch 属性基于最终用户的           os.arch Java 系统特性。
更多有关 JNLP 文件的各种元素和格式的信息,请参考下面的 。      
结束语SWT 用户界面工具箱和 Java WebStart 的结合向开发人员提供了一套很棒的工具,可以用这套工具来创建和部署高度交互的客户机端 Java应用程序。这个示例文件查看器应用程序提供了一个构建和打包框架,您可以用它来创建自己的独立 SWT应用程序,这些应用程序是通过 Java Web Start 分发的。
返回列表