2010-11-23 2 views
6

Ich benutze Eclipse Helios und ich fragte mich, wie kann ich ein Bibliotheksprojekt zu meinem Ordner hinzufügen, die in das Build-Verzeichnis kopiert werden, in dem sich mein kompiliertes Projekt befindet.eclipse helios: tomcat project - jar wird nicht exportiert oder veröffentlicht. Laufzeit ClassNotFoundExceptions kann dazu führen

zur Zeit habe ich folgendes:

  1. erstellt ein Verzeichnis lib in der Wurzel meines Projekts
  2. die entsprechenden Gläser in diesem Verzeichnis
  3. Mein Projekt kopiert -> Eigenschaften -> Java Build Path - > Fügen Sie Gläser hinzu und ich habe alle Gläser aus diesem Verzeichnis hinzugefügt.

schließlich die Gläser Zugabe bekam ich die folgende Warnung jeder der JAR-Datei in Bezug auf:

jar will not be exported or published. runtime ClassNotFoundExceptions may result 

aller ersten wie kann ich das Verzeichnis der Gläser statt einzelner Gläser hinzufügen? und die zweite Frage ist, wie kann ich tun, dass die Bibliotheken ordnungsgemäß beim Erstellen meiner Anwendung bereitgestellt werden?

Antwort

5

Es kann etwa sein:

Können Sie auf die Navigator-Ansicht wechseln, Rechtsklick auf das Projekt aktualisieren, stellen Sie sicher, dass es nicht in dem LIB dir ,
Dann versuchen Sie und ziehen Sie die JAR in das lib Verzeichnis und sehen, ob es auftaucht.

Wenn Sie die totale Kontrolle über Sie Web-Container/app-Server haben, JAR-Dateien bereitstellen ist so einfach wie den Ordner in Ihrem allgemeinen lib-Ordner ablegen.
Wenn Sie Ihre Web-Apps nicht als war Datei verpacken, dann ist es noch einfacher, weil Sie nur die Gläser im Ordner WEB-INF/lib Ihrer Webapp fallen lassen müssen.
Aber wenn Sie nicht die volle Kontrolle über Ihren Webserver oder Anwendungsserver haben, ist Ihre einzige Wahl, die Gläser, die Sie mit Ihrer Kriegsdatei verwendet haben, zu packen.

Bei der Entwicklung eines Webprojekts mit meinem kürzlich entwickelten Dienstprogramm (eine JAR-Datei) bin ich auf einen NoClassDefFound Fehler gestoßen. Natürlich ist es ziemlich offensichtlich, dass die JAR-Datei, die ich erstellt und auf meinem Webprojekt verwendet habe, nicht gefunden werden konnte (nicht sichtbar in der CLASSPATH).
Das Hinzufügen des JAR zum Build-Pfad beseitigte nur das Kompilierungsproblem. Das Ziehen der JAR-Datei in den lib-Ordner meines Eclipse-Arbeitsbereichs ist keine sehr gute Idee.
Es dauerte ein paar Stunden, bevor ich die Lösung herausgefunden:

  1. Rechts auf Ihr Webprojekt klicken
  2. Klicken Sie auf Eigenschaften
  3. Select J2EE-Modul Abhängigkeiten
  4. Klicken Sie auf die Web-Bibliotheken Tab
  5. Fügen Sie externe Gläser hinzu (wenn sich das Glas außerhalb Ihres Projekts befindet). Ein Eintrag wird unter Jar/Module hinzugefügt, stellen Sie sicher, dass Sie auf das Kontrollkästchen (aktiviert) klicken.

Und alles sollte in Ordnung sein. Ich habe versucht, in eine WAR-Datei zu exportieren und dann den Inhalt überprüft, und meine JAR-Dateien werden tatsächlich mit dem Krieg bereitgestellt.

  • ein Projekt Konfigurationsproblem

Die OP ufk im Kommentar erwähnt:

  • eine „Web App hinzufügen:

    ich das Problem durch behoben Bibliotheken "Bibliothek in" Java Build Pfad " und

  • Addition aller relevanten Gläser in WebContent/WEB-INF/lib
+0

Wenn ufk die Gläser durch den Dateiexplorer (Nautilus, Windows Explorer) kopiert hat, dann ist das Problem der Dateiaktualisierung das richtige. Wählen Sie das Projekt in Eclipse und drücken Sie F5. – Alfabravo

+0

vielen Dank. Ich habe das Problem gelöst, indem ich eine Bibliothek "Web App Libraries" in "java build path" hinzugefügt und alle relevanten hars in WebContent/WEB-INF/lib hinzugefügt habe. – ufk

+0

@ufk: Vielen Dank für Ihr Feedback. Ich habe es zu meiner Antwort hinzugefügt. – VonC

8

in Eclipse Junu:

in einem Web-Projekt, nach dem Glas hinzugefügt Pfad zu bauen, muss man es

hinzufügen
Deployment Assembly 

(in Projekteigenschaften)

dass jar

beim Hinzufügen zu „Deployment Assembly“ drücken Sie die Schaltfläche Hinzufügen und wählen Sie

Java Build Path Entry 

(und nicht die anderen Arbeitsbereich oder im Dateisystem-Option)

+0

Das hilft mir wirklich sehr, danke :) – isaacselement

0

Ich war vor dem gleichen Problem, wie immer, wenn ich exportieren Meine Web-App als WAR-Datei, die extern hinzugefügten JAR-Dateien wurden nicht in das Verzeichnis app/lib aufgenommen, was während der Bereitstellung zu Ausnahmen führte.

Sie haben die Navigator-Ansicht zu wechseln, Rechtsklick auf das Projekt aktualisieren, stellen Sie sicher, dass es nicht in dem LIB dir (aber im Projektordner)

dann versuchen, und ziehen Sie die JAR in das lib Verzeichnis und sehen, ob es auftaucht.

Verwandte Themen