Ich habe ein neues dynamisches Webprojekt in Eclipse Kepler erstellt, und da ich IvyDE zum ersten Mal benutze, habe ich einige Abhängigkeiten gesetzt, um es zu testen. Hier ist meine efeu.xml:
%Vor%Die Abhängigkeiten wurden aufgelöst und ich kann sie in den Projektbibliotheken sehen.
Aber danach begann mein Projekt, diese Warnung zu geben:
%Vor% Wenn ich es richtig verstanden habe, warnt mich Eclipse, dass der IvyDE-Eintrag im Klassenpfad nicht mit einer Ressource übereinstimmt, die im builded-Projekt enthalten ist. Ich nehme an, dies ist das erwartete Verhalten, wenn ja, gibt es eine Möglichkeit, diese Warnung aus dem Projekt zu entfernen, ohne alle Classpath Dependency Validator Message
zu deaktivieren?
Der Grund für die Warnmeldung ist, dass der flexible Mechanismus für die Bereitstellung von Eclipse-Projekten nicht weiß, ob die vom Ivy-Container referenzierten Bibliotheken bereitgestellt werden sollen oder nicht. Sie müssen also explizit angeben, was Sie tun möchten, die JAR-Dateien in WEB-INF / lib implementieren oder nicht.
Wenn Sie diesen Container für WEB-INF / lib bereitstellen müssen, müssen Sie:
Wenn Sie in die .classpath-Einstellungsdatei schauen, sehen Sie, dass ein Eintrag wie folgt hinzugefügt wird:
%Vor% Beachten Sie, dass das Element <attributes>...</attributes>
hinzugefügt wurde. Auch mein Ivy-Container-Pfad wird anders sein als deins, da dies ein Ivy-Container-Pfad für eines meiner eigenen Projekte ist.
Wenn Sie jetzt nicht zum Bereitstellen dieser im Ivy-Container enthaltenen Bibliotheken für Ihre Laufzeitumgebung benötigen, müssen Sie Eclipse mitteilen, dass zur Laufzeit keine Abhängigkeit von diesen Bibliotheken besteht. Sie können das tun, indem Sie die entsprechenden Attribute in der Datei .classpath hinzufügen.
Das letzte Element wird ungefähr so aussehen. Ihr Pfad wird verschiedene Optionen haben, aber der Schlüssel ist das Attribut child element:
%Vor%Entweder Sie wählen Eclipse explizit, wie Sie mit dieser Bibliothekscontainerabhängigkeit während der Bereitstellung umgehen. Jetzt können Sie das Projekt erneut validieren (klicken Sie mit der rechten Maustaste auf Projekt und wählen Sie "Validieren") und Sie sollten den Fehler verschwinden sehen.