2017-01-11 3 views
0

PRÉFACE! Je sais que des questions similaires ont été posées un million de fois. J'ai lu BEAUCOUP de centaines de questions précédentes et je n'arrive toujours pas à trouver ma réponse.Erreur: Impossible de trouver ou de charger la classe principale: exécuter des erreurs JAR compilées différentes en fonction de la façon dont je l'exécute

Je travaille sur un pi de framboise et essaie d'exécuter une application Java qui est empaquetée dans un fichier Jar. Cela fonctionnait bien avant d'installer le dernier Java 1.8_111. J'ai déclassé et ça ne marchait toujours pas. J'ai ensuite effacé ma pi aux défauts et ça ne fonctionne toujours pas.

La version Java actuelle est la version 1.8.0_65. J'ai décidé que la version java n'est pas pertinente en installant plusieurs versions différentes avec le même résultat. Lorsque j'ai installé une version différente, aucune autre version n'était présente pour provoquer des conflits.

Si je lance le pot en faisant simplement java jar KitchenScr.jar je reçois l'erreur suivante:

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

Si je lance le pot à partir du script shell fourni (ci-dessous). Je reçois l'erreur suivante.

Script

#!/bin/sh 

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

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

Erreur

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

Si j'oublié quelque chose s'il vous plaît laissez-moi savoir.

+0

Est-ce que 'KitchenScr.jar' existe réellement dans le répertoire donné? Essayez d'imprimer '$ CP' pour vous assurer que c'est ce que vous pensez. Le fichier jar contient-il réellement 'uk/chromis/kitchenscr/KitchenScr.class'? --- Aussi, pourquoi essayez-vous de charger 'uk.chromis.kitchenscr.KitchenScr' si le fichier jar veut charger' com.javafx.main.Main'? – Andreas

+0

CP = ./KitchenScr.jar uk.chromis.kitchenscr.KitchenScr est la classe principale que je veux charger. – Marcus

Répondre

0

C'était un problème simple qui me regardait en face.

Erreur: Impossible de trouver ou charger la classe principale com.javafx.main.Main

Oracle cessé de fournir JavaFX pour ARM autour Mise à jour 30 ou quelque chose. Cela a fonctionné initialement quand j'ai acheté mon pi, mais pas après avoir installé un nouveau système d'exploitation parce qu'une version plus récente de Java fonctionnait.

Rétrograder Java ou ajouter des bibliothèques ARM pertinentes pour JavaFX.

1

mine travaillé. CP = $ DIRNAME/KitchenScr.jar, j'ai changé les lettres majuscules de kitchenscr.jar à CP = $ DIRNAME/kitchenscr.jar