# 使用多个入口点

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

当您拥有一组希望用户部署的相关应用程序时，自包含应用程序非常有用。自包含应用程序提供单个可安装的软件包，用于安装所有应用程序以及运行它们所需的 JRE。

Multiple Launchers Demo 包括[转换现有应用程序](../selfContainedApps/converting.html)中描述的动态树演示和[中使用文件关联](../selfContainedApps/fileassociation.html)中描述的文件关联演示。项目的`/src`目录包含两个应用程序的源文件。

您可以从[自包含应用程序示例](../selfContainedApps/examplesIndex.html)下载 Multiple Launchers Demo 的源文件。

自包含应用程序的主要入口点由`&lt;fx:application&gt;`元素的`mainClass`属性标识。在 Multiple Launchers Demo 中，主要入口点是文件关联演示。主要类是针对 Linux 和 Windows 的`sample.fa.ScriptRunnerAppliation`，或针对 OS X 的`sample.fa.ScriptRunnerApplicationMac`。请参阅[使用所有平台的通用构建文件](../selfContainedApps/commonbuild.html)，以获取有关如何在单个构建文件中确定要使用的类的信息跨平台使用。

每个辅助入口点由`&lt;fx:secondaryLauncher&gt;`元素的实例标识。参见[&lt; fx：secondaryLauncher&gt;](https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/javafx_ant_task_reference.html#JSDPG1003) 了解有关此元素的信息。

在 Multiple Launchers Demo 中，辅助入口点是动态树演示。 `build.xml`文件中的以下代码显示了如何定义第二个入口点：

```
<fx:secondaryLauncher name="Dynamic Tree Demo"
    mainClass="webstartComponentArch.DynamicTreeApplication"
    version="1.0"
    title="Dynamic Tree Demo"
    vendor="My Company"
    description="A Demo of Multiple Launchers for JavaPackager"
    copyright="(c) 2014 My Company"
     menu="true"
     shortcut="false"
     >
</fx:secondaryLauncher>

```

有关完整的构建代码，请参见 [`build.xml`](examples/packager_MultipleLaunchers/build.xml) 。

要为 Multiple Launchers Demo 生成可安装的软件包，请参阅[转换现有应用程序](../selfContainedApps/converting.html)中的“生成软件包”部分。

安装自包含应用程序后，将使用“多个启动器”入口点安装“文件关联演示”，并安装动态树演示及其自己的入口点。例如，在 Windows 上，“开始”菜单中的`Java Demos`文件夹包含两个条目：Dynamic Tree Demo 和 Multiple Launchers Demo。请注意，为 Multiple Launchers 入口点设置了文件关联，因此打开 JavaScript 或 Groovy 文件会启动 Multiple Launchers。

## 其他资源

有关多个入口点的更多信息，请参阅[支持多个入口点](https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#JSDPG1000)。

有关 JavaFX Ant 参数的更多信息，请参见 [JavaFX Ant 任务参考](https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/javafx_ant_task_reference.html)。