Maison >Java >javaDidacticiel >Comment résoudre \'java.lang.ClassNotFoundException\' lors de l'utilisation de \'java -jar\' avec un chemin de classe supplémentaire ?

Comment résoudre \'java.lang.ClassNotFoundException\' lors de l'utilisation de \'java -jar\' avec un chemin de classe supplémentaire ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 00:24:301096parcourir

How to Resolve

Résolution de l'exception ClassNotFoundException lors de l'utilisation de "java -jar" avec un chemin de classe supplémentaire

Lors de l'exécution d'un fichier JAR à l'aide de "java -jar MyFile. jar" et en spécifiant un chemin de classe supplémentaire, on peut rencontrer l'erreur "java.lang.ClassNotFoundException." Cette erreur suggère que les bibliothèques nécessaires à l'exécution du programme ne sont pas accessibles à l'environnement d'exécution.

Pour résoudre ce problème, il est important de comprendre que l'option "-jar" lance le fichier JAR en tant qu'application autonome, ce qui signifie qu'il doit contenir toutes les dépendances requises en interne. L'utilisation de "-cp" pour spécifier un chemin de classe externe est destinée aux situations dans lesquelles le fichier JAR n'est pas autonome.

Par conséquent, il existe deux approches recommandées :

  1. Chemin de classe du manifeste (si le JAR est autonome) :

    • Copiez les bibliothèques requises dans le sous-dossier "libs".
    • Utilisez "
    • Exécutez le programme en utilisant « java -jar MyProgram.jar » et les bibliothèques requises seront automatiquement chargées.
  2. Chemin de classe explicite (si le JAR n'est pas autonome) :

    • Placez le JAR principal et toutes les dépendances dans le même répertoire.
    • Exécutez le programme en utilisant "java -cp '.libs/' main.Main", où "." représente le répertoire actuel et l'étoile () inclut tous les fichiers JAR dans le répertoire "libs".

En implémentant l'une ou l'autre de ces approches, les bibliothèques supplémentaires seront accessible au fichier JAR lors de l'exécution, résolvant l'erreur "ClassNotFoundException".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn