可运行的 .jar 文件在我的 windows 设备上运行但不会在其他设备上运行(windows 也是)

runnable .jar file runs on my windows device but won't on others(windows too)

所以我编写了一个小程序供我妈妈使用。我将它导出到 runnable .jar,这对我来说是第一次,所以我显然搞砸了。

实际上这个文件在我的电脑上工作得很好。但是当我在她身上尝试时,双击文件只会给我一个错误:"could not find Main class : controller.Main"。程序无法启动

我使用 eclipse GUI 导出它(右键单击 projet -> export -> runnable JAR),它给出了一个在我的电脑上运行良好的文件。 如果它有任何帮助,我的程序使用了一堆资源文件,但我将它们包含在我给我母亲的文件夹中的正确位置所以它不应该是问题(此外,它会在尝试时出现故障根据一些个人测试,使用图像,但不阻止它启动)

为什么它可以在我的设备上运行,但不能在另一个设备上运行(两者都 Windows)?以及如何解决这个问题?

N.B:我在导出前在我的项目中包含了一个MANIFEST.MS文件,但Eclipse在导出时没有明确提及它,所以我认为它没有接受它考虑到。此外,我将我的主要 class 引用为 Main(而不是 controller.Main,就像我在我母亲的计算机上收到的错误消息一样)。这可能是我的错误,但我认为这表明 Eclipse 不太关心我的清单并且有点制作了他自己的清单。

提前致谢! 如果你想要一个 link 下载文件夹,自己检查一下,让我知道! (虽然有点重,图有点多)

编辑:我在不同的计算机上收到不同的错误消息。一台电脑会给我第一条信息: first computer error

另一台电脑给了我这 2 条错误消息(一个接一个)

2nd computer error (1/2)

2nd computer error 2/2

当然,它在我的电脑上仍然运行良好,只需双击即可!

我的 .jar 文件(作为存档打开)包含:

好的!我能弄明白。所以实际上有 2 个问题:

  • 首先,我认为Martin的建议是正确的。在研究了新的错误消息后,很明显本地调用可能与问题有关,尽管我不知道我使用的是哪个本地库。我可以通过选择另一个选项来处理 eclipse 导出功能中的库来解决问题的第一部分:我选择了选项 "package required libraries into genereated JAR"(而不是之前的 "extract required libraries into generated JAR"),它使错误消息消失了!
  • 即使消息消失,应用程序仍无法启动。但是这次问题更加明显;我简单地用 java 9 JDK 为 eclipse 编译并导出文件,同时尝试在 java 8 软件上 运行 它(我认为 java 9迄今为止仅在其开发者版本中可用)。所以我就下载了java8JDK,配置构建路径使用后者,终于在另一台电脑上运行了。

感谢 Martin 帮助我解决了正确的问题!