Tomcat ruft nicht das richtige Glas ab

8

Ich entwickle ein Webprojekt mit Eclipse Juno, Tomcat 7 und Maven 3 und stoße auf ein seltsames Problem.

Ich habe ein separates Projekt, in dem ich etwas kompiliere, und ich wähle dieses Glas in meinem Webprojekt als Abhängigkeit aus. Also, das Endergebnis ist ein .war. Wenn ich diesen Krieg nun in eingebetteter Tomcat in Eclipse starte und den Refresh-Button in meinem Browser drücke, sagt Tomcat, dass er keinen Pfad in diesem Jar finden kann.

Im Ordner workspace WEB-INF / lib finde ich das myApplication-common-widgetset-0.0.11-20130926.124257-7.jar

Im Tomcat-Deployment-Verzeichnis unter wtpwebapps / myApplication / WEB-INF / lib sehe ich myApplication-common-widgetset-0.0.11-SNAPSHOT.jar Das Seltsame ist, dass die Datei unter der Tomcat-Bibliothek 1 KB groß ist und die Datei in meiner Workspace-Bibliothek ~ 22 MB groß ist.

Ich habe versucht, den Arbeitsbereich jar in den Tomcat-lib-Ordner zu kopieren und alles funktioniert und läuft als Charm.

Aktualisierungen:

  • Wenn ich mvn tomcat:run von der Befehlszeile in meinem Arbeitsbereich aus starte, funktioniert alles.
  • Ich habe sowohl Eclipse (nach Kepler, alles gelöscht, einschließlich Arbeitsbereich und Home-Ordner) als auch Tomcat 7 neu installiert. Ich habe immer noch das gleiche Problem.
  • Colleges versuchten, mein Projekt von SVN abzurufen und führten es erfolgreich aus, sowohl mit Eclipse als auch mit IntelliJ + Tomcat 7

Was hätte passieren können? Warum wird Eclipse eingebettet Tomcat nicht alles aus dem Zielverzeichnis abrufen?

    
Roger 26.09.2013, 15:51
quelle

1 Antwort

0

Das Problem, mit dem Sie es zu tun haben, ist die Tatsache, dass Eclipse die maven-Abhängigkeiten nicht strikt befolgt.

Das hat damit zu tun, dass Eclipse beim Aufbau, der Bereitstellung und dem Betrieb von Tomcat nicht auf Maven verzichtet. Eclipse verwendet Ihre lokalen Workspace-Einstellungen und führt daher manchmal einen Abhängigkeitsbaum ein, der sich von maven unterscheidet.

Aus den von Ihnen gelieferten Informationen sieht es so aus, als ob diese Arbeitsbereichs-Lib-Datei aus einem Maven-Repository stammt und die im Embedded-Tomcat-Implementierungsverzeichnis ein Jar ist, das Eclipse erstellt hat - ich rate hier.

Wenn dieses jar aus einem Workspace-Projekt stammt, können Sie versuchen, das Projekt zu schließen und eclipse das jar von maven finden zu lassen.

Dieses Problem mit Eclipse und Maven ist ziemlich unklar und daher ist es schwierig, genau herauszufinden, was in Bezug auf Abhängigkeiten vor sich geht, so dass ich nicht mehr helfen kann

    
Michael Wiles 08.12.2014 21:57
quelle