Frage

Ich benutze Netbeans IDE für ein Java -Projekt. In diesem Projekt brauche ich eine JAR-Datei "htmlunit-2.6.jar".

Ich habe diese JAR -Datei in den Ordner Projektbibliotheken aufgenommen. Ich habe eine ihrer Klasse "WebClient" instanziiert, aber diese Klasse braucht andere Klassen von "Commons-httpclient-3.1.jar" -Datei.

Jetzt habe ich auch die Datei "Commons-httpclient-3.1.jar" in den Ordner Projektbibliotheken aufgenommen. Aber als ich meine Quelldatei zusammenstellte, wirft sie aus

ClassNotFoundException: org.apache.commons.httpclient.auth.credentialSprovider

Bitte sagen Sie mir, wie ich mit dieser Situation umgehen soll, wenn eine Klasse in einer JAR -Datei andere Klassen in einer anderen JAR -Datei benötigt.

War es hilfreich?

Lösung

Setzen Sie einfach die erforderlichen JAR-Dateien auf den Klassenpfad bei der Kompilierungszeit ein und es sollte funktionieren. Wenn Sie es aus der Befehlszeile tun würden, würde es so aussehen:

javac -cp jar1:jar2 my.Application

Wenn Sie verwenden NetBeans Dann müssen Sie es sagen NetBeans dass beide Gläser auf Ihrem Klassenpfad sind. Es wird in a definierbar sein Projekt> Eigenschaften Magier wie hier beschrieben und auch Hier aus dem Tutorial

Andere Tipps

Die ClassNotFoundException zeigt Ihnen, dass Ihre Bibliotheken einige Abhängigkeiten haben, die Sie zur Laufzeit nicht in Ihren Klassenpfad enthalten haben. Ihre Quelle ist in Ordnung, denn wenn Sie etwas nicht verfügbares verwendet haben, wird NB Ihnen dies zum Kompilierungszeit (oder vor der Bearbeitung) mitteilen.

Also, willkommen in der "Abhängigkeit Hölle"Von Java. Für kleine Projekte können Sie alle Abhängigkeiten mit Readme -Dateien, Dokumenten usw. überprüfen und in die Projektkonfiguration einsetzen, wie Oxbow_Lakes sagte. Für größere Dinge schauen Sie sich an Maven. Es wird (die meisten) alles für Sie tun!

(Maven ist in NB6 erhältlich)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top