Я разрабатываю динамическое веб-приложение на Java (Servlets / JSP) в Eclipse. Я пытаюсь использовать внешний JAR (я использую StringUtils
от Apache Commons), и я не понимаю, куда мне положить jar (/lib
, /WEB-INF/lib
?) И как мне это нужно настроить мой путь к классу (в Eclipse).
Я попытался поместить JAR-файлы в оба вышеупомянутых места и загрузить их в путь к классу, щелкнув Add JAR
в свойствах проекта, и оба решения скомпилировались нормально, но выдало ошибку времени выполнения, например:
SEVERE: Servlet.service () для сервлета UserList выбросил исключение
java.lang.NoClassDefFoundError: org / apache / commons / lang / StringUtils
в cs236369.hw5.db.MySqlDbHandler.insert (MySqlDbHandler.java:58)
в cs236369.hw5.servlets.UserList.doGet (UserList.java:50)
на javax.servlet.http.HttpServlet.service (HttpServlet.java:617)
на javax.servlet.http.HttpServlet.service (HttpServlet.java:717)
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290)
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206)
в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:233)
в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:191)
в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127)
в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)
в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109)
в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:298)
в org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:859)
в org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process (Http11Protocol.java:588)
в org.apache.tomcat.util.net.JIoEndpoint $ Worker.run (JIoEndpoint.java:489)
at java.lang.Thread.run (неизвестный источник)
Итак ... как загрузить внешние файлы JAR?
Обратите внимание, что я не очень хорошо знаком с тем, как загружаются внешние JAR-файлы в Java, виртуальной машине или как Eclipse управляет всем этим, поэтому я был бы признателен за подробные решения.