【问题标题】:Bundle the JAR File into an App Package with Preloader JavaFx使用 Preloader JavaFx 将 JAR 文件捆绑到应用程序包中
【发布时间】:2023-03-05 01:56:01
【问题描述】:

我正在尝试使用 ant 创建一个带有预加载器类的应用程序包。使用以下 build.xml 文件成功创建了应用程序。双击 Viewer.app 后,不会出现预加载器屏幕。当我直接使用 java -jar Viewer.jar 启动应用程序时,预加载器屏幕可以在 windows os 和 mac os 上显示。

<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" 这样的附加设置不起作用。如何在 App 包中显示预加载器屏幕?我不需要任何其他软件包,例如 .exe .dmg 或 .msi 文件。非常感谢任何帮助。

【问题讨论】:

    标签: java ant package preloader


    【解决方案1】:

    我找到了解决办法

    <?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}\..\lib\ant-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>
    

    【讨论】:

      猜你喜欢
      • 2015-12-04
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 1970-01-01
      相关资源
      最近更新 更多