【问题标题】:JavaFX - java.lang.nullpointer on one machine but not another [closed]JavaFX - 一台机器上的 java.lang.nullpointer 而不是另一台机器上的 java.lang.nullpointer [关闭]
【发布时间】:2021-12-29 11:50:12
【问题描述】:

我创建了一个显示几个屏幕的 JavaFX Java 程序。 在一台机器上,当我从 Eclipse 运行时它可以工作,但当我将它作为 jar 运行时它会失败。 在另一台机器上,它在 Eclipse 中失败,出现与我之前遇到的相同错误。

我已经链接了一个包含部分代码以及错误和文件夹布局的屏幕截图。

感谢任何帮助。

screenshot containing part of the code and also the error and folder layout

【问题讨论】:

  • 1.请不要贴代码的图片,使用markdown来发布代码,这样很容易被其他人阅读:) 2.您标记了javafx-8和javafx-11,它们非常不同,因为在如何使用方面发生了重大变化将 JavaFX 包含到您的项目中,我建议最简单的方法是获取包含 JavaFX 的 JDK,(查看 A JavaFX App on ZuluFX in 60 seconds
  • 编辑您的问题并包含您的代码,以及错误的完整堆栈跟踪,作为文本而不是图像。见meta.stackoverflow.com/questions/285551/…
  • “请不要发布代码图片,而是使用 Markdown 发布代码,因此其他人很容易阅读” - 对堆栈溢出问题提出的问题相对较新。我会接受这个建议,谢谢。 “我建议最简单的方法是获取包含 JavaFX 的 JDK”——我已经使用 javaFX 几年了,通常使用 Java 1.8 编写,但我最近收到一条错误消息。 JavaFX 模块丢失了,所以我不得不下载 JavaFX JDK 并为其创建一个库,并在构建配置中包含一个参数。
  • 对堆栈溢出问题的提问相对较新是阅读有关如何提问(或回答)的帮助页面的好时机
  • “我会接受这个建议。” 那为什么问题中还有截图呢?

标签: java eclipse javafx javafx-8 javafx-11


【解决方案1】:

看起来您尝试使用的 fxml 文件名为 MainForm.fxml。但是在第 14 行,您正在尝试使用 Mainform.fxml。尝试将表单上的“F”大写。

【讨论】:

  • 谢谢!解决了它。顺便说一句,你刚刚协助了一个由 3 名编码员组成的团队。我们三个人都错过了那个拼写错误,我们觉得自己像个白痴!我想知道为什么它在eclipse中的另一台计算机上工作,很奇怪。
  • @Murigrim 不同的计算机运行什么操作系统?一些文件系统忽略大小写,而另一些则需要正确的大小写。
  • 它在我的运行 eclipse 和 windows 10 的计算机上运行。它在运行 linux 和 eclipse 的计算机上失败。所以你可能是正确的。有趣的是,当我将它导出为 Windows 机器上的 jar 文件时,Jar 文件不会在 CMD 中运行,并且会抛出空指针异常错误。我从未遇到过实际运行时出现这样的拼写错误的 JavaFX 程序。我认为它让我们失望了。
  • “当我从 Eclipse 运行时有效,但当我将其作为 jar 运行时失败”-> jar 协议始终区分大小写,用于在解压缩的应用程序中查找资源的文件协议(rg 在 eclipse 中)将在 Windows 上不区分大小写。只需编写代码,就好像它总是区分大小写一样,无论操作系统或是否包装在 jar 中,它都可以工作。
  • 我不知道eclipse在windows上查找资源时不区分大小写。它拥有这个功能似乎很奇怪,但它绝对是我将来会注意的。谢谢。
猜你喜欢
  • 2015-06-29
  • 2023-03-29
  • 2016-09-28
  • 2015-11-08
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 2015-07-23
  • 1970-01-01
相关资源
最近更新 更多