Question

J'utilise l'EDI Netbeans pour un projet Java. Dans ce projet, j’ai besoin d’un fichier .jar "htmlunit-2.6.jar".

J'ai inclus ce fichier JAR dans le dossier des bibliothèques de projet. J'ai instancié l'une de ses classes " WebClient " mais cette classe a besoin d'autres classes de " commons-httpclient-3.1.jar " fichier.

À présent, j'ai également inclus "commons-httpclient-3.1.jar". fichier dans le dossier des bibliothèques de projet. Mais quand j'ai compilé mon fichier source, il jette

Exception ClassNotFound: org.apache.commons.httpclient.auth.CredentialsProvider

Veuillez me dire comment gérer cette situation lorsqu'une classe d'un fichier jar a besoin d'autres classes d'un autre fichier jar.

Était-ce utile?

La solution

Il suffit de placer les fichiers JAR requis sur le chemin de classe au moment de la compilation et cela devrait fonctionner. Si vous le faisiez à partir de la ligne de commande, cela ressemblerait à ceci:

javac -cp jar1:jar2 my.Application

Si vous utilisez NetBeans , vous devez indiquer à NetBeans que les deux fichiers JAR se trouvent sur votre chemin de classe. Il sera définissable dans un projet > Assistant Propriétés comme décrit ici et ici à partir du didacticiel

Autres conseils

L'exception ClassNotFoundException vous indique que vos bibliothèques ont des dépendances que vous n'avez pas incluses dans votre chemin d'accès aux classes au moment de l'exécution. Votre source est OK, car si vous avez utilisé quelque chose d'indisponible, NB vous le dira au moment de la compilation (ou avant lors de l'édition).

Alors, bienvenue dans le " enfer de la dépendance " de Java. Pour les petits projets, vous pourrez vérifier toutes les dépendances à la main avec des fichiers readme, docs, etc. et les mettre dans la configuration du projet, comme le dit oxbow_lakes. Pour les choses plus importantes, consultez maven . Il fera tout pour vous!

(Maven est disponible dans NB6)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top