Eclipse- und IvyDE-Warnung: Classpath Dependency Validator Message

8

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?

    
Philipi Willemann 17.07.2013, 01:42
quelle

1 Antwort

18

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:

  1. Klicken Sie mit der rechten Maustaste auf das Projekt, um zu den Eigenschaften
  2. zu gelangen
  3. Wählen Sie Bereitstellungsassembly
  4. aus
  5. Klicken Sie auf Hinzufügen
  6. Wählen Sie "Java-Buildpfadeinträge"
  7. aus
  8. Wählen Sie den Ivy-Container
  9. Klicken Sie auf Fertig stellen
  10. Stellen Sie sicher, dass der Bereitstellungspfad auf "WEB-INF / lib"
  11. eingestellt ist

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.

  1. Öffnen Sie die Datei .classpath
  2. Suchen Sie den Eintrag für den Ivy-Container
  3. Fügen Sie das folgende Attributelement manuell als untergeordnetes Element der Klassenpathetry
  4. hinzu

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.

    
gamerson 23.07.2013, 11:56
quelle

Tags und Links