# 减少下载时间

> 原文： [https://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/reducingDownloadTime.html](https://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/reducingDownloadTime.html)

当用户尝试访问时，会从网站下载富 Internet 应用程序（RIA）。 （初始下载后可以缓存 RIA 以提高性能）。下载 RIA 所需的时间取决于 RIA 的 JAR 文件的大小。较大的 JAR 文件下载时间较长。

您可以通过应用以下技术缩短 RIA 的下载时间：

*   使用 [`pack200`](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/pack200.html) 工具压缩 RIA 的 JAR 文件。
*   从 Java 网络启动协议（JNLP）文件和 JavaScript 文件中删除不必要的空白区域。
*   优化图像和动画。

以下步骤描述了如何为签名的 RIA 创建和部署压缩的 JAR 文件。

1.  Normalize the JAR file using the `--repack` option.

    此步骤可确保安全证书和 JAR 文件在 RIA 启动时通过验证检查。

    ```
    pack200 --repack DynamicTreeDemo.jar

    ```

2.  签署规范化的 JAR 文件。

    ```
    jarsigner -keystore myKeyStore DynamicTreeDemo.jar me

    ```

    其中`myKeyStore`是密钥库的名称，`me`是密钥库的别名。
3.  打包签名的 JAR 文件

    ```
    pack200 DynamicTreeDemo.jar.pack.gz DynamicTreeDemo.jar    

    ```

4.  在 RIA 的 JNLP 文件中将`jnlp.packEnabled`属性设置为`true`。

    ```
    &lt; resources&gt; &lt; j2se version =“1.6+”href =“http://java.sun.com/products/autodl/j2se”max-heap-size =“128m”/&gt; &lt; jar href =“DynamicTreeDemo.jar”main =“true”/&gt; &lt; property name =“jnlp.packEnabled”value =“true”/&gt; &lt;！ -  ...  - &gt; &LT; /资源&GT; 
    ```

当在 JNLP 文件中设置`jnlp.packEnabled`属性时，Java Plug-in 软件将查找具有`.pack.gz`扩展名的压缩 JAR 文件（例如，`DynamicTreeDemo.jar.pack.gz`）。如果找到，Java Plug-in 软件会自动解压缩并加载 JAR 文件。如果找不到具有`.pack.gz`扩展名的文件，则 Java Plug-in 软件会尝试加载常规 JAR 文件（例如，`DynamicTreeDemo.jar`）。

* * *

**Note:** You need to deploy your RIA on a web server to test the `jnlp.packEnabled` property.

* * *