servlet-api.jar kann nicht geladen werden
Ich bin mit Eclipse Indigo 3.7, Tomcat7, Spring MVC framework 2.5.6.
In einer meiner Anwendung-Projekt, habe ich diese Fehlermeldung:
nov. 22, 2011 9:06:30 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
Infos: validateJarFile(/home/pc/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/SpringMVC/WEB-INF/lib/servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Habe ich gelesen, dass für web-Anwendung-Projekt wie meins, servlet-api.jar nicht berücksichtigt werden sollen in dem Projekt build path; Ist das richtig? Wo soll ich dann servlet-api.jar denn ich habe servlet in meine Anwendung ein?
Auch ich möchte Sie Fragen:
Bin ich beim Lesen oft setzen jar-Dateien in WEB-INF/lib-Ordner, manchmal bin ich beim Lesen in den Projekt-build-Pfad als externe Jar, manchmal bin ich beim Lesen zu tun, sowohl bei der sametime.
Zum Beispiel habe ich gelesen, dass:
-servlet-api.jar bereits in Tomcat7/lib-Verzeichnis müssen aber auch im Projekt-Pfad;
-MySQL-JDBC-Treiber für java hat, um in das Projekt aufgenommen werden Pfad, kopiert und auch in das WEB-INF/lib und Tomcat7/lib-Verzeichnisse.
Kann jemand sagt mir die Wahrheit und helfen mir zu verstehen, wirklich wie zu verwalten «Jar-Bibliotheken» in ein Projekt in eclipse?
Danke Ihnen sehr.
- In der Tat hatte ich das «servlet-api.jar» kann nicht geladen werden-Fehlermeldung, da hatte ich es im Projekt-build path. Ich gerade entfernt servlet-api.jar von diesem Platz aus. Aber ich möchte noch Antworten auf die restlichen Fragen. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich gelesen, dass für web-Anwendung-Projekt wie meins, servlet-api.jar nicht berücksichtigt werden sollen in dem Projekt build path; Ist das richtig? Wo soll ich dann servlet-api.jar denn ich habe servlet in meine Anwendung ein?
Bin ich beim Lesen oft setzen jar-Dateien in WEB-INF/lib-Ordner, manchmal bin ich beim Lesen in den Projekt-build-Pfad als externe Jar, manchmal bin ich beim Lesen zu tun, sowohl bei der sametime.
Habe ich gelesen, dass: -servlet-api.jar bereits in Tomcat7/lib-Verzeichnis müssen aber auch im Projekt-Pfad; -MySQL-JDBC-Treiber für java hat, um in das Projekt aufgenommen werden Pfad, kopiert und auch in das WEB-INF/lib und Tomcat7/lib-Verzeichnisse.
Kann jemand sagt mir die Wahrheit und helfen mir zu verstehen, wirklich wie zu verwalten «Jar-Bibliotheken» in ein Projekt in eclipse?
Den tomcat-lib-Verzeichnis ist ein gemeinsamer Speicherort für Bibliotheken, die intern verwendet werden, die von tomcat und für alle Anwendungen eingesetzt, die auf diese Instanz von tomcat. Würden Sie erwarten, zu finden servlet-api.jar hier das ist alles Teil von, was macht die tomcat-servlet-engine. Sie finden eine detailliertere Erklärung der classloader von tomcat Sachen hier:
http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html
Den
/WEB-INF/lib
Ordner Ihres Projekts enthält Bibliotheken, die privaten sind nur an Ihre web-Anwendung und nicht sichtbar für andere eingesetzt-app auf tomcat. Hier würden Sie erwarten, zu stellen Bibliotheken für die Technologien, die Sie verwenden, um erstellen Sie Ihre web-app, wie Spring, JUnit und vielleicht Überwintern.Update:
In Bezug auf die Verwaltung Ihrer Bibliotheken mit Eclipse, ich würde empfehlen, dass Sie nutzen ein build-system (wenn Sie nicht bereits) - wie mit ANT oder Maven.
Mit Maven kann man ein Projekt in Eclipse mit einer web-app Archetyp und für Ihr Projekt die Bibliotheken depedencies kann ziemlich einfach verwaltet über Ihr Projekt POM-Datei.
ANT einbeziehen können, um ein wenig mehr "heavy lifting" auf Ihrer Teil, wenn es um die manuelle Verwaltung Ihrer
WEB-INF/lib
- Verzeichnis, aber Sie können auch verwenden, Apache Ivy zu helfen, mit diesem.Eine schnelle Google-Suche wird zeigen viele, viele tutorials über die Verwendung dieser tools.
Hoffe, das hilft.