web-dev-qa-db-fra.com

Erreur: impossible de trouver ou de charger la classe principale xxx Linux

Je suis très nouveau dans l'environnement Linux.

J'essaie d'exécuter une classe Java simple hello world dans un environnement linux.

Bonjour .Java

 package com.util;

    public class Hello {

        /**
         * @param args
         */
        public static void main(String[] args) {
            System.out.println("hi");

        }

    }

J'ai compilé la classe Java dans un environnement Windows et téléchargé le fichier .class sur le système Linux dans/home/scripts path.

ma commande est la suivante,

Java -cp /home/scripts com.util.Hello

quand j'exécute cette commande à partir de ce même/home/scripts où Hello.class est là je reçois,

Erreur: Impossible de trouver ou de charger la classe principale com.util.Hello et impossible de continuer.

quelqu'un peut-il m'aider dans cette affaire?

9
user1660325

accédez à/home/scripts à l'aide d'un terminal

javac com/util/Hello.Java 

puis

cd /home/scripts
Java -cp . com.util.Hello

Ou,

Java -cp "/home/scripts" com.util.Hello   
11
Shashi

Au début, vous devez générer votre fichier .class: 

javac ./hello.Java

Cette commande a généré le fichier hello.class Et après que vous puissiez exécuter votre fichier de classe! :) 

Bonjour Java

2
L. Quastana

vote négatif

si vous voulez exécuter le programme dans le répertoire de travail actuel où votre classe réside.

Java donne trois options.

première option

Testeur java-cp

Deuxième option pour le répertoire de travail actuel

Java -cp. Testeur

Troisième option exporter la variable CLASSPATH

export CLASSPATH = $ CLASSPATH :. (c’est le meilleur choix si votre répertoire change) ou

export CLASSPATH = $ PWD

ou

export CLASSPATH =

après cela, vous devez sélectionner le bashrc ou le bashprofile.

1
user1651008

J'ai eu exactement le même problème sur Windows, et je l'ai résolu en ajoutant le chemin "." à la fois pour CLASSPATH et PATH, vous pouvez peut-être aussi essayer cela sous Linux.

1
Zinan Xing

Nous savons d’abord que javac command fonctionne bien.

J'ai aussi rencontré cette erreur, et j'ai résolu ceci.Laissez-moi partager ceci.

Nous devons d’abord trouver le chemin parent de votre paquet dans vos codes Java.

Ensuite, cd vers ce chemin en utilisant le package Java + nomfichier devrait bien fonctionner à ce moment.

1
James Liu

Votre fichier .class ne doit pas résider dans /home/scripts/, mais dans /home/scripts/com/util/. Jetez un œil à ce document qui explique la relation entre classpath, packages et répertoires.

0
mthmulders

Avant de spécifier le chemin, assurez-vous de suivre ces trois choses méticuleusement: 1. Fermez la fenêtre d'invite command avant de spécifier le chemin . 2. Lorsque ajoute un chemin, ajoutez bin et un point-virgule à la fin et 3. Si la commande JAVAC a fonctionné correctement, essayez le nom de la classe Java -cp.

0
Chaitanya