【问题标题】:Error: Could not find or load main class: running compiled JAR different errors depending on how I run it错误:找不到或加载主类:运行编译的 JAR 不同的错误取决于我的运行方式
【发布时间】:2017-01-11 04:15:39
【问题描述】:

前言!我知道类似的问题已经被问过一百万次了。我已经阅读了数百个以前的问题,但仍然找不到我的答案。

我正在开发一个树莓派并尝试运行一个打包在 Jar 文件中的 Java 应用程序。在我安装最新的 Java 1.8_111 之前它运行良好。我降级了,还是不行。然后我将我的 pi 擦除为默认值,但它仍然无法正常工作。

当前的 Java 版本是 1.8.0_65。我已经通过安装多个具有相同结果的不同版本来确定 java 版本无关紧要。当我安装不同的版本时,没有其他版本会导致冲突。

如果我通过简单地执行 java -jar KitchenScr.jar 来运行 jar,我会收到以下错误:

Error: Could not find or load main class com.javafx.main.Main

如果我从提供的 shell 脚本(如下)运行 jar。我收到以下错误。

脚本

#!/bin/sh

DIRNAME=`dirname $0`
CP=$DIRNAME/KitchenScr.jar

# start uniCenta oPOS
java -cp $CP uk.chromis.kitchenscr.KitchenScr 

错误

Error: Could not find or load main class uk.chromis.kitchenscr.KitchenScr

如果我遗漏了什么,请告诉我。

【问题讨论】:

  • KitchenScr.jar 是否真的存在于给定目录中?尝试打印$CP 以确保它是您认为的那样。 jar 文件实际上是否包含uk/chromis/kitchenscr/KitchenScr.class? --- 另外,如果jar文件要加载com.javafx.main.Main,你为什么要加载uk.chromis.kitchenscr.KitchenScr
  • CP = ./KitchenScr.jar uk.chromis.kitchenscr.KitchenScr 是我要加载的主类。

标签: java raspbian raspberry-pi2


【解决方案1】:

这是一个让我眼前一亮的简单问题。

错误:无法找到或加载主类 com.javafx.main.Main

甲骨文在更新 30 左右停止为 ARM 发布 JavaFX。它最初在我第一次购买我的 pi 时可以工作,但在我安装新操作系统后就不行了,因为正在运行更新版本的 Java。

降级 Java 或为 JavaFX 添加相关的 ARM 库。

【讨论】:

    【解决方案2】:

    我的工作。 CP=$DIRNAME/KitchenScr.jar,我把kitchenscr.jar的大写字母改成了CP=$DIRNAME/kitchenscr.jar

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 2017-07-30
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 2016-01-06
      • 2012-06-25
      相关资源
      最近更新 更多