fx:deploy 应用程序无法运行,但 Java jar 正在运行 - Gluon 项目
fx:deploy application not working but the Java jar is working - Gluon Project
我有我的 gluon 项目,当 运行 来自 Netbeans IDE 创建的 jar(通过命令行并双击)并且当你使用 ide 运行 任务。但我也试图部署到 msi 和 exe,然后再部署到 dmg。当我使用 ant 进行部署时,我创建了应用程序并且安装正常。但是当你尝试 运行 时,它说在 class 中找不到主要方法。据我所知,您没有将 main 方法放入 gluon 应用程序中,当我尝试将基本的 main 方法放入 main class 时,我收到了一个空指针异常。我不确定这里的解决方案是什么,我已经通过 build.xml 文件证明了ided,我正在使用它通过 ant 进行部署。
<project name="No Panics Self Helper"
xmlns:fx="javafx:com.sun.javafx.tools.ant">
<path id="fxant">
<filelist>
<file name="C:\Program Files\Java\jdk1.8.0_91\lib\ant-javafx.jar"/>
<file name="C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jfxrt.jar"/>
</filelist>
</path>
<taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
uri="javafx:com.sun.javafx.tools.ant"
classpathref="fxant"/>
<delete dir="dist/bundles/NoPanicsSelfHelper/runtime/jre"/>
<mkdir dir="dist/bundles/NoPanicsSelfHelper/runtime/jre"/>
<copy todir="dist/bundles/NoPanicsSelfHelper/runtime/jre">
<fileset dir="C:\Program Files\Java\jdk1.8.0_91\jre" />
</copy>
<fx:deploy nativeBundles="all" width="600" height="400"
outdir="${basedir}/dist" outfile="NoPanicsSelfHelper">
<fx:application name="NoPanicsSelfHelper" mainClass="com.nopanicsselfhelper.NoPanicsSelfHelper"/>
<fx:resources>
<!-- include application jars -->
<fx:fileset dir="dist" includes="NoPanicsSelfHelper.jar"/>
<fileset dir="dist/resources">
<include name="**"/>
</fileset>
</fx:resources>
<!-- Custom JVM setup for application -->
<fx:platform>
<fx:jvmarg value="-Xmx2048m"/>
<fx:jvmarg value="-verbose:jni"/>
</fx:platform>
<fx:platform basedir="${java.home}"/>
<fx:platform basedir="C:\Program Files\Java\jdk1.8.0_91"/>
<!-- request user level installation -->
<fx:preferences install="false"/>
</fx:deploy>
</project>
答案太简单了。只需添加以下内容。
public static void main(String[] args) {
launch(NoPanicsSelfHelper.class);
}
我有我的 gluon 项目,当 运行 来自 Netbeans IDE 创建的 jar(通过命令行并双击)并且当你使用 ide 运行 任务。但我也试图部署到 msi 和 exe,然后再部署到 dmg。当我使用 ant 进行部署时,我创建了应用程序并且安装正常。但是当你尝试 运行 时,它说在 class 中找不到主要方法。据我所知,您没有将 main 方法放入 gluon 应用程序中,当我尝试将基本的 main 方法放入 main class 时,我收到了一个空指针异常。我不确定这里的解决方案是什么,我已经通过 build.xml 文件证明了ided,我正在使用它通过 ant 进行部署。
<project name="No Panics Self Helper"
xmlns:fx="javafx:com.sun.javafx.tools.ant">
<path id="fxant">
<filelist>
<file name="C:\Program Files\Java\jdk1.8.0_91\lib\ant-javafx.jar"/>
<file name="C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jfxrt.jar"/>
</filelist>
</path>
<taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
uri="javafx:com.sun.javafx.tools.ant"
classpathref="fxant"/>
<delete dir="dist/bundles/NoPanicsSelfHelper/runtime/jre"/>
<mkdir dir="dist/bundles/NoPanicsSelfHelper/runtime/jre"/>
<copy todir="dist/bundles/NoPanicsSelfHelper/runtime/jre">
<fileset dir="C:\Program Files\Java\jdk1.8.0_91\jre" />
</copy>
<fx:deploy nativeBundles="all" width="600" height="400"
outdir="${basedir}/dist" outfile="NoPanicsSelfHelper">
<fx:application name="NoPanicsSelfHelper" mainClass="com.nopanicsselfhelper.NoPanicsSelfHelper"/>
<fx:resources>
<!-- include application jars -->
<fx:fileset dir="dist" includes="NoPanicsSelfHelper.jar"/>
<fileset dir="dist/resources">
<include name="**"/>
</fileset>
</fx:resources>
<!-- Custom JVM setup for application -->
<fx:platform>
<fx:jvmarg value="-Xmx2048m"/>
<fx:jvmarg value="-verbose:jni"/>
</fx:platform>
<fx:platform basedir="${java.home}"/>
<fx:platform basedir="C:\Program Files\Java\jdk1.8.0_91"/>
<!-- request user level installation -->
<fx:preferences install="false"/>
</fx:deploy>
</project>
答案太简单了。只需添加以下内容。
public static void main(String[] args) {
launch(NoPanicsSelfHelper.class);
}