Qu'est-ce qu'un chemin de classe en java?


J'ai écrit un programme qui fonctionne parfaitement sur mon ordinateur portable, mais je veux vraiment qu'il fonctionne sur un serveur que j'ai. En utilisant NetBeans, j'ai nettoyé et construit le projet. J'ai copié le contenu du dossier dist sur mon serveur mais je n'arrive pas à travailler en utilisant la commande

Java-jar Nomoffile.jar

J'obtiens l'erreur

java.lang.NoClassDefFoundError: org/....

J'ai fait un peu de lecture et d'après ce que je comprends, je dois à peu près spécifier où sont les bibliothèques que j'ai utilisé sont situés. Eh bien, ils sont situés dans un sous-dossier appelé lib.

Question:

Alors, que devrais-je faire pour pouvoir exécuter mon pot?

Author: Sahil Manchanda, 2014-03-08

5 answers

, Essayez cela:

java -classpath "$CLASSPATH:nameOfFile.jar:lib/*" path.to.your.MainClass

Ce que cela fait est de définir le classpath à la valeur de $CLASSPATH, plus nameOfFile.jar, plus tous les fichiers .jar dans lib/.

 5
Author: Florent Bayle, 2014-03-08 09:43:07

CLASSPATH est une variable d'environnement qui nous aide à éduquer la machine virtuelle Java à partir de laquelle elle commencera à chercher .les fichiers de classe.

Nous devrions stocker la racine des hiérarchies de paquets dans les variables d'environnement CLASSPATH.

En cas d'ajout ou d'utilisation de bibliothèques jar dans notre projet, nous devrions placer l'emplacement du fichier jar dans la variable d'environnement CLASSPATH.

Exemple: Si nous utilisons le fichier jar jdbc mysql dans notre projet java, nous devons mettez à jour l'emplacement du fichier jar mysql dans la variable d'environnement CLASSPATH. si notre mysql.jar est dedans c:\driver\mysql.jar puis

Nous pouvons définir le chemin de classe via DOS dans Windows

set CLASSPATH=%CLASSPATH%;c:\driver\mysql.jar 

Sous Linux, nous pouvons faire

export CLASSPATH=$CLASSPATH:[path of the jar]

J'espère que ça aide!

 5
Author: Chinmay Patel, 2018-02-23 04:57:15

Q. What is classpath??

Ans: Classpath est un paramètre de la Machine virtuelle Java ou du compilateur Java qui specifies the location of user-defined classes and packages. Le paramètre peut être défini soit sur la ligne de commande, soit via une variable d'environnement.

Les chemins de classe contiennent:

  1. Les fichiers JAR et

  2. Chemins vers le haut des hiérarchies de paquets.

Q.Why we need to set classpath?

Sna: Fondamentalement classpath tells the location of classes où toutes les classes être hébergé.

Par exemple Parfois, nous devons établir une connectivité avec la base de données, alors nous devons avoir besoin de jdbc mysql connector jar .

Q. What is JAR?

JAR (Java Archive) est un format de fichier de paquet généralement utilisé pour agréger Java class files et les métadonnées et ressources associées (texte, images, etc.) dans un seul fichier pour distribuer des logiciels d'application ou des bibliothèques sur la plate-forme Java.

Simplement JAR: Collection of Classes.

Donc pour faire connectivité avec la base de données nous devons définir l'emplacement de Jar Mysql dans les variables Classpath en java.

C'est pourquoi nous avons besoin de classpath en java.

 3
Author: Bharti Rawat, 2016-05-05 07:23:48

Vous devez définir le chemin de classe en utilisant

Ce qui suit fonctionne dans bash . Ceci est temporaire

set CLASSPATH=$CLASSPATH=[put the path here for lib]

Si vous le voulez permanent, vous pouvez ajouter des lignes ci-dessus dans ~/.fichier bashrc

export CLASSPATH=$CLASSPATH:[put the path here for lib]:.
 1
Author: madan ram, 2014-03-08 08:09:31

Lorsque vous utilisez un META-INF/MANIFEST.Le fichier MF pour spécifier les dépendances Main-Class doit également être spécifié dans le manifeste .

Le commutateur-jar ignore toutes les autres informations de chemin de classe - voir les documents tools pour plus d'informations.

 0
Author: McDowell, 2014-03-08 09:00:43