当前位置: 首页 > 知识库问答 >
问题:

使用本机包exe启动JavaFX应用程序失败

竺捷
2023-03-14

我已经创建了一个JavaFX应用程序,并使用蚂蚁创建了它的本机包。当我试图启动应用程序使用Jar从捆绑创建双击,它成功启动我的应用程序。但是当我试图双击MyApplication.exe(比如说)时,它会抛出JavaFX启动器错误“运行应用程序时异常”。

我比较了两个jre,有很多丢失的jar,exe,dll和一些属性文件我发现。

我有这些环境设置-

JAVA_HOME -- C:\Program Files\Java\jdk1.7.0_10
JREFX_HOME -- C:\Program Files\Oracle\JavaFX 2.2 Runtime
Path contains an entry of C:\Program Files\Java\jdk1.7.0_10\bin

JAVA_HOME和JREFX_HOME在我的构建中使用。xml来获取AntJavaFX。jar和jfxrt。罐子--

${env.JAVA_HOME}/lib/ant-javafx.jar
${env.JREFX_HOME}/lib/jfxrt.jar

我创建捆绑包的步骤是-

<target name="CreatingExe" depends="SignedJar">
            <fx:deploy width="800" height="600" nativeBundles="all" outdir="${OutputPath}" outfile="${app.name}">
                <fx:info title="${app.title}"/>
                    <fx:application name="${app.title}" mainClass="${main.class}"/>
                    <fx:resources>
                        <fx:fileset dir="${OutputPath}" includes="*.jar"/>
                <fx:fileset dir="${WorkingFolder}/temp"/>
            </fx:resources>
         </fx:deploy>
 </target>

构建中还需要什么。xml,以便应用程序使用exe正确启动?

谢谢

共有1个答案

戚均
2023-03-14

不启动JavaFx exe的问题通过将jre从“C:\Program Files\Java\jdk\U version\jre”复制到\bundles\MyApplication\runtime\jre来解决,该jre是在将exe创建为-

<target name="CopyJre" depends="CreatingExe"> 
 <delete dir="${app_path}/bundles/MyApplication/runtime/jre"/>
 <mkdir dir="${app_path}/bundles/MyApplication/runtime/jre"/>
 <copy todir=${app_path}/bundles/MyApplication/runtime/jre">
   <fileset dir="${env.JAVA_HOME}/jre" />
 </copy>
</target>

JAVA_HOME=C:\Program Files\Java\jdk_version

谢谢

 类似资料:
  • 在我将依赖项添加到JavaFX程序中并创建了一个名为Algorithm wth two classes的新包后,我的应用程序无法启动。 会引发以下异常: 原因:java.lang.RuntimeException:应用程序启动方法中的异常原因:java.lang.NullPointerException:需要位置。 我尝试了: JavaFX“location is required”。即使它在应用

  • 比方说我安装了OracleJDK11(只是为了让事情更简单)。然后我下载了Gluon的JavaFX11,并在JDK上解包。实际上,我在哪里解包JavaFX并不重要(因为我的下一个目标是基于OpenJRE制作我自己的JRE安装程序)。然后我尝试启动应用程序: 我得到了这个: 启动层初始化过程中发生错误java.lang.LayerInstantiation异常:包jdk.internal.jrtfs

  • 我是spring的初学者,希望这样做示例项目…我有一个数据库,我想连接到它…我使用了像AutoWired和service这样的注释。但有个问题我解决不了 Controller包中的RegisterationController具有我要调用的服务: 第一个包中的DataManagement类: 第一包中的StudentAccountRepository: 第一包中得学生帐户..引用数据库中的表: M

  • 我正在使用JDK附带的Oracle工具为JavaFX8应用程序创建一个可安装的包。在Mac上创建文件,在Linux上使用文件。我从Gradle调用一个Ant脚本来创建包。我遇到的问题是,包中包含的版本号总是1.0,而不是我指定的版本。Ant脚本的相关部分如下: 您可以在这里的上下文中看到完整的脚本。 在Mac上,右键单击应用程序图标并选择“Get Info”显示1.0而不是正确的版本号,正如您在下

  • 大家好,我第一次尝试启动我的react native项目,我已经安装了react native文档中提到的所有内容,以便在运行模拟器时使用android studio,并执行以下命令

  • 当我启动Spring Boot应用程序时,我得到了: 2020-11-11 03:02:24.333警告20648--[main]ConfigServletWebServerApplicationContext:上下文初始化过程中遇到异常-取消刷新尝试:org.springframework.beans.factory.unsatisfiedDependencyException:创建名为“org