Résolution des dépendances via le plugin Shade pour NoClassDefFoundError
Dans une première expérience avec Maven, des incohérences entre Eclipse et l'utilisation de la ligne de commande peuvent survenir en raison de gestion des dépendances. Malgré la création réussie du projet Maven et l'ajout de dépendances dans Eclipse, l'exécution du projet via la ligne de commande peut entraîner une erreur NoClassDefFoundError.
Par défaut, Maven emballe les dépendances séparément et ne les inclut pas dans le fichier JAR compilé. Cette omission entraîne l'échec de la machine virtuelle Java lors de la tentative de localisation des classes de bibliothèque pendant l'exécution.
Au lieu d'ajouter manuellement des bibliothèques au chemin de classe, le maven-shade-plugin fournit une solution plus efficace. Il crée un "uber-JAR" qui combine les classes d'application avec le code de bibliothèque requis.
Pour implémenter cela, ajoutez la configuration de plugin suivante à votre POM :
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.5.2</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin>
Après avoir ajouté cette configuration, réexécutez les commandes suivantes :
$ mvn package $ java -cp target/bil138_4-0.0.1-SNAPSHOT.jar tr.edu.hacettepe.cs.b21127113.bil138_4.App
Pour les options de configuration avancées, telles que la spécification des JAR inclus ou d'un fichier JAR exécutable, reportez-vous à la section « Exemples » sur le site Web maven-shade-plugin.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3