文档

Java™教程
路径:部署
课程:部署自包含应用程序
首页 > 部署 > 部署自包含应用程序

问题和练习的答案:自包含应用程序

问题

  1. 问题:下列哪一项不是自包含应用程序的优势?

    1. 用户可以使用他们熟悉的安装程序来安装应用程序。
    2. 应用程序以本机应用程序的形式运行。
    3. 应用程序在用户计算机上占用的空间更小。
    4. 您可以控制应用程序使用的JRE版本。
    5. 应用程序无需浏览器即可运行。

    答案: C. 由于JRE与应用程序捆绑在一起,所以应用程序需要更多的空间。

  2. 问题:对错:必须始终使用MIME类型来设置文件关联。

    答案: 错误。根据平台和使用的捆绑程序,可以使用MIME类型或文件扩展名。对于Linux,需要MIME类型。对于Windows,需要文件扩展名。对于OS X,需要MIME类型或文件扩展名。在设置文件关联时,不论平台如何,最好同时提供MIME类型和文件扩展名。

  3. 问题:<fx:deploy> Ant任务中,用于标识自包含应用程序的入口点的元素是什么?

    答案: <fx:application>元素的mainClass属性用于标识主入口点。如果自包含应用程序有多个入口点,则对于每个次要入口点,使用<fx:secondaryLauncher>元素。

练习

  1. 练习:编写<fx:deploy> Ant任务,生成一个名为“My Sample App”的简单应用程序的Windows MSI捆绑包。应用程序的JAR文件位于dist目录中,主类为samples.MyApp,输出文件将写入当前目录。

    答案:

    <fx:deploy outdir="."
               outfile="MySampleApp"
               nativeBundles="msi>
    
        <fx:application name="My Sample Application"
                        mainClass="samples.MyApp"/>
    
        <fx:resources>
            <fx:fileset dir="dist" includes="*.jar"/>
        </fx:resources>
    
        <fx:info title="My Sample Application"
                 description="一个简单的示例应用程序"/>
    </fx:deploy>
    
  2. 练习:在上一个练习中的代码中添加功能,创建所有Windows安装程序的捆绑包,并为文本文件定义文件关联。

    答案:

    <fx:deploy outdir="."
               outfile="MySampleApp"
               nativeBundles="installer">
    
        <fx:application name="My Sample Application"
                        mainClass="samples.MyApp"/>
    
        <fx:resources>
            <fx:fileset dir="dist" includes="*.jar"/>
        </fx:resources>
    
        <fx:info title="My Sample Application"
                 description="一个简单的示例应用程序">
            <fx:association extension="txt" 
                            description="文本文件">
             </fx:association>
         </fx:info>
    </fx:deploy>
    

    nativeBundles属性设置为installer时,打包程序会尝试为该平台的所有支持的安装程序构建捆绑包。不会创建磁盘映像。如果构建特定捆绑包所需的工具不可用,则跳过该捆绑包类型。

    Windows在定义文件关联时只需要extension属性。


上一页:问题和练习:自包含应用程序