我正在 Eclipse 中使用 Java (Servlets/JSP) 开发动态 Web 应用程序。我尝试使用外部 JAR(我正在使用 Apache Commons 中的 StringUtils),但我不知道应该把它放在哪里...
我正在 Eclipse 中使用 Java (Servlets/JSP) 开发动态 Web 应用程序。我尝试使用外部 JAR(我 StringUtils
从 Apache Commons 使用),但我不知道应该将 jar 放在哪里( /lib
, /WEB-INF/lib
?)以及如何配置类路径(在 Eclipse 中)。
我尝试将 JAR 放在上述两个位置,然后通过单击 Add JAR
项目属性将它们加载到类路径中,并且两个解决方案都可以正常编译,但会出现如下运行时错误:
严重:servlet UserList 的 Servlet.service() 抛出了异常 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) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 在 java.lang.Thread.run(未知来源)
那么...我如何加载外部 JAR?
请注意,我不太熟悉如何在 Java、VM 中加载外部 JAR,或者 Eclipse 如何管理这一切,因此我希望得到详细的解决方案。