Wo sollte ich externe JAR-Dateien während der Entwicklung einer web-app?
Ich bin die Entwicklung einer dynamischen web-Anwendung mit Java (Servlets/JSP) in Eclipse. Ich versuche eine externe JAR (ich bin mit StringUtils
von Apache Commons) und ich bin verwirrt, wie und wo sollte ich die jar (/lib
, /WEB-INF/lib
?) und wie muss ich konfigurieren, meine Klasse Weg (in Eclipse).
Habe ich versucht, indem Sie die Gläser in den beiden genannten Orte, und laden Sie den classpath, indem Sie auf Add JAR
in den Projekt-Eigenschaften und beide Lösung kompilieren in Ordnung, aber geben Sie eine Laufzeit-Fehlermeldung etwa so:
SCHWERWIEGEND: Servlet.service() for servlet UserList warf Ausnahme
java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
bei cs236369.hw5.db.MySqlDbHandler.insert(MySqlDbHandler.java:58)
bei cs236369.hw5.servlets.UserList.doGet(UserList.java:50)
bei javax.- servlet.http.HttpServlet.service(HttpServlet.java:617)
bei javax.- servlet.http.HttpServlet.service(HttpServlet.java:717)
bei org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
bei org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
bei org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
bei org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
bei org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
bei org.apache.catalina.Ventile.ErrorReportValve.invoke(ErrorReportValve.java:102)
bei org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
bei org.apache.catalina.- Anschluss.CoyoteAdapter.service(CoyoteAdapter.java:298)
bei org.apache.coyote.http11.Http11Processor.Prozess(Http11Processor.java:859)
bei org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.Prozess(Http11Protocol.java:588)
bei org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
bei java.lang.Thread.run(Unknown Source)
Also... wie lade ich die externen JARs?
Bitte beachten Sie, dass ich bin nicht vertraut mit, wie die externen JARs werden geladen in Java, die VM, oder wie Eclipse verwaltet es alle, so würde ich mich über detaillierte Lösungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie platziert werden, in
yourapp/WEB-INF/lib
. (In eclipse, das Sie hinzufügen, Sie richtig). So stellen Sie sicher, das Glas ist wirklich da. Beachten Sie, dass beim starten der app von eclipse aus starten, müssten Sie zu konfigurieren deployment-Montage.Die Bereitstellung Baugruppe konfiguriert ist, durch
right click > properties > deployment assembly
in eclipse. Dort sollten Sie "Hinzufügen" Ihre "Java build path entries"