对所有平台使用通用构建文件

要为运行应用程序的每个平台生成独立的应用程序 Binding 包,必须在每个平台上运行打包工具。您可以选择使用特定于平台的构建文件,也可以设置一个可以在所有平台上运行的构建文件。特定于平台的文件可以更容易设置,但是随后您必须维护多个文件。

使用文件关联中描述的文件关联演示使用了一个可在所有平台上运行的构建文件。

构建文件的以下元素支持其在所有平台上的使用:

  • 该应用程序的主类是 Linux 和 Windows 的ScriptRunnerApplication.java和 OS X 的ScriptRunnerApplicationMac.java-pre-init任务中的以下代码用于确定要使用的类:
<condition property="main.class" 
           value="sample.fa.ScriptRunnerApplication"
           else="sample.fa.ScriptRunnerApplicationMac">
    <not><os family="mac"/></not>
</condition>
  • -pre-init任务中的以下代码用于防止在 Linux 或 Windows 上运行时编译 OS X 的主类:
<condition property="excludes" value="**/*Mac.java">
    <not><os family="mac"/></not>
</condition>
  • \ <>元素用于将参数传递给可用的不同 Binding 器。Binding 程序未使用的参数将被忽略,因此构建文件可以包含所有平台所需的参数。以下代码定义了 Linux,OS X 和 Windows 的参数:
<fx:bundleArgument arg="classpath" value="FileAssociationsDemo.jar lib/groovy-all-2.3.8.jar"/>

<fx:bundleArgument arg="win.exe.systemWide" value="true"/>

<fx:bundleArgument arg="linux.bundleName" value="file-association-demo"/>
<fx:bundleArgument arg="email" value="[email protected]"/>
<fx:bundleArgument arg="mac.CFBundleName" value="File Assoc Demo"/>
<fx:bundleArgument arg="win.menuGroup" value="Java Demos"/>

有关完整的构建代码,请参见build.xml

您可以从自包含的应用示例下载文件关联演示的源文件。