Estoy desarrollando una aplicación web dinámica con Java (Servlets/JSP) en Eclipse. Estoy tratando de usar un JAR externo (estoy usando StringUtils
de Apache Commons) y estoy confundido en cuanto a dónde debo poner el contenedor (/lib
, /WEB-INF/lib
?) Y cómo debo configurar mi ruta de clase (en Eclipse).¿Dónde debo colocar archivos JAR externos al desarrollar una aplicación web?
He intentado poner los frascos en ambos de los lugares antes mencionados, y cargarlos a la ruta de clase haciendo clic Add JAR
en las propiedades del proyecto y ambos solución compilarse bien, pero dará un error de ejecución así:
SEVERE: Servlet.service() for servlet UserList threw exception java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils at cs236369.hw5.db.MySqlDbHandler.insert(MySqlDbHandler.java:58) at cs236369.hw5.servlets.UserList.doGet(UserList.java:50) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source)
Entonces ... ¿cómo cargo los JAR externos?
Tenga en cuenta que no estoy tan familiarizado con la forma en que se cargan los archivos JAR externos en Java, la máquina virtual o cómo Eclipse lo gestiona todo, por lo que agradecería soluciones detalladas.
"debe configurar el ensamblaje de la implementación". - A eso me refería cuando dije que apreciaría explicaciones más detalladas :) No tengo idea de lo que eso significa. ¿Puedes explicar por favor? –
ver la actualización ..... – Bozho
@Bozho si necesito ubicar el jar en el directorio raíz quiero decir fuera de WEB-INF/lib, ¿cómo construirlo? – Achyut