将JAR文件与预加载Javafx捆绑到应用程序软件包中



我正在尝试使用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>

最新更新