我正在尝试使用ANT创建一个使用预加载类的应用程序包。使用以下build.xml文件成功创建了应用程序。双击查看器后。App未显示预加载器屏幕。当我直接使用Java -jar viewer.jar直接启动应用程序时,预加载器屏幕可以在Windows OS和Mac OS上进行ssen。
<taskdef name="bundleapp"
classname="com.oracle.appbundler.AppBundlerTask"
classpath="classlib/appbundler-1.0.jar" />
<target name="bundle-MyProject">
<bundleapp outputdirectory="dist"
name="Viewer"
displayname="MyProject Viewer"
identifier="MyProject.Start"
mainclassname="MyProject.Start"
icon="classlib/MyProject.icns">
<runtime dir="${env.JAVA_HOME}" />
<classpath file="dist/Viewer.jar" />
<classpath dir="dist/lib" includes="*.jar" />
</bundleapp>
</target>
诸如PRELOADERCLASS =" myproject.preloader"之类的其他设置不起作用。如何在应用程序包中显示预加载器屏幕?我不需要任何其他软件包,例如.exe .dmg或.msi文件。任何帮助都非常感谢。
我已经解决了解决方案
<?xml version="1.0" encoding="UTF-8"?>
<description>Create .app for test project.</description>
<target name="bundle-test">
<taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
uri="javafx:com.sun.javafx.tools.ant"
classpath=".:${java.home}..libant-javafx.jar"/>
<fx:deploy nativeBundles="all" width="600" height="600" outdir="outputdir">
<info title="Viewer"
vendor="My Company"
description="Viewer Application"
copyright="My Company ..."/>
<fx:application
name="Viewer"
mainClass="myapp.Start"
preloaderClass="helpers.FirstPreloader">
<fx:argument>ide=false</fx:argument>
<fx:argument>app=true</fx:argument>
</fx:application>
<fx:platform basedir="${java.home}">
<fx:jvmarg value="-Xms512m"/>
<fx:jvmarg value="-Xmx1024m"/>
</fx:platform>
<fx:resources>
<fx:fileset dir="dist">
<include name="Viewer.jar"/>
<include name="lib/*.jar"/>
</fx:fileset>
</fx:resources>
</fx:deploy>
<delete file="outputdir/null.html"/>
<delete file="outputdir/null.jnlp"/>
<delete file="outputdir/Viewer.jar"/>
<delete file="outputdir/bundles/Viewer-1.0.dmg"/>
<delete file="outputdir/bundles/Viewer-1.0.pkg"/>
<delete dir="outputdir/lib"/>
</target>