Comment puis-je ajouter une bibliothèque externe à un projet dans IntelliJ IDEA afin que, lorsque je construis un artefact, celui-ci ait toujours accès aux classes de la bibliothèque?
J'ai créé un nouvel artefact Jar à partir de la structure du projet, puis j'ai ajouté le fichier JAR externe aux bibliothèques, puis l'ai coché dans la liste des modules, puis ajouté à la sortie de l'artefact. Aucun de ces travaux. Lorsque je construis et tente d'exécuter mon application, une erreur est générée:
Exception in thread "main" Java.lang.NoClassDefFoundError: <path of the class trying to use>
Qu'est-ce qui me manque ou est-ce que je fais tout à fait faux?
Vous avez 2 options ici:
Manifest.MF
et copiez-les à proximité du fichier principal de l'applicationJ'ai préparé un exemple de projet qui illustre les deux approches: HelloWithDependencies.Zip .
Les artefacts sont produits dans les répertoires out\single
et out\linked
.
Configurations pertinentes:
Si vous utilisez maven pour créer votre application, il ne s'agit pas de la bonne façon d'ajouter une bibliothèque externe. Vous devriez soit
mvn install:install-file -Dfile=myJar.jar -DgroupId=com.yourproject -DartifactId=yourproject -Dversion={version} -Dpackaging=jar
. L'option 1 est préférable car vous n'avez pas à garder jar dans votre projet.