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

在IDE中运行应用程序停止工作

欧阳飞
2023-03-14

上周,我完成了一个测试应用程序的开发,并在所有模拟器中成功运行了它。今天我决定考虑发布这个应用程序,并使用了“Sent Android Build”。生成状态“成功”。然后尝试从命令行运行jar,得到:

peter@PeteSuse:~> java -jar "/home/peter/NetBeansProjects/mobile-apps/pGame/dist/pGame.jar"
java.lang.ArrayIndexOutOfBoundsException: 0
    at com.codename1.impl.javase.Executor$1.run(Executor.java:84)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)

所以试图逃离GUI并得到:

run:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
    at com.codename1.impl.ImplementationFactory.createImplementation(ImplementationFactory.java:69)
    at com.codename1.ui.Display.init(Display.java:566)
    at com.codename1.impl.javase.Executor$1.run(Executor.java:112)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)

Java版本:

peter@PeteSuse:~> java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (IcedTea 3.3.0) (suse-23.1-x86_64)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)

我在Suse Linux 42.1 64b上使用Netbeans(这是新的)。

我在什么地方丢了一个图书馆吗?还是别的什么?

共有3个答案

仲承福
2023-03-14

通过按下IDE中的播放按钮,可以在模拟器中运行Codename One应用程序。它在命令行中不适用,也不应该,因为应用程序不应该有main()方法。

您可以使用以下命令从命令行执行Codename One模拟器:

java -jar JavaSE.jar:dist/MyApp.jar 

注意,这假设您的项目是工作目录。

祁远
2023-03-14

JFXPanel位于JavaFX库中。

请参阅:JavaFX和OpenJDK,了解为什么JavaFX在OpenJDK发行版中默认不可用。

  1. 如果您的linux发行版提供了一个开放的JavaFX包(就像ubuntu一样:为什么JavaFX没有包含在ubuntu Wily(15.10)上的OpenJDK 8中?),然后你可以用它

我不知道codenameone,也不知道它是如何工作的。不管它是什么,您都可以要求创建者将其打包为一个自包含的应用程序,以便它附带一个兼容的Java运行时,这将(潜在地)避免您遇到的问题。不知道codenameone,我不知道这是否有意义。

我也不知道你最初的数组索引边界异常(ArrayIndexOutOfBoundsException)的原因,因为这看起来是codenameone内部的,或者你对它的使用。

对于NetBeans,您可能需要将Java平台设置为安装了JavaFX的平台(如果您的机器上安装了多个Java平台)。

宋伟泽
2023-03-14

谢谢大家。我通过将jfxrt.jar添加到NetBeans中的库来解决问题。

 类似资料:
  • 我正在以独立模式运行Spark群集。 我已使用以下选项提交了群集模式下的Spark应用程序: 使作业具有容错性。 现在我需要保持集群运行但停止应用程序运行。 我尝试过的事情: 停止集群并重新启动它。但是当我这样做时,应用程序会恢复执行。 使用了名为DriverWrapper的守护进程的Kill-9,但之后工作再次恢复。 我还删除了临时文件和目录并重新启动了集群,但作业再次恢复。 所以正在运行的应用

  • 我的iOS应用程序在出现运行时错误后停止运行。我将错误捕获为异常。我希望应用程序在错误处理后继续运行到下一步。有人建议怎么做吗?

  • LOGCAT: 2021-07-18:01:16.9425655-5655/com。实例Androidinterestcalculator E/AndroidRuntime:致命异常:主进程:com。实例Android有趣的镜头图像描述hereculator,PID:5655 java。lang.RuntimeException:无法启动活动组件信息{com.example.android.int

  • 我有个问题希望你能帮我解决。 有时,我的应用程序会出现一些错误,并继续在服务器上运行,直到我手动停止服务器并重新启动。

  • 我有一个在 Openshift Online 启动器中运行的应用程序,该应用程序在过去 5 个月内一直有效。服务后面的单个 Pod,定义了执行边缘 tls 终止的路由。 自星期六以来,当尝试访问该应用程序时,我收到错误消息 应用程序不可用应用程序当前未在此endpoint上为请求提供服务。它可能尚未启动或仍在启动。 您看到此页面的可能原因: 主机不存在。确保正确键入了主机名,并且存在与此主机名匹配

  • 我有一个在Openshift 4.6中运行的应用程序。 pod正在运行,我可以执行它并检查它,我可以端口转发到它并访问它。 尝试访问应用程序时,我得到错误消息: 应用程序不可用应用程序当前未在此endpoint上为请求提供服务。它可能尚未启动或仍在启动。 您看到此页面的可能原因: 主机不存在。请确保键入的主机名正确,并且存在与该主机名匹配的路由。 主机存在,但没有匹配的路径。检查URL路径是否输入