开发Web应用程序时应将外部JAR文件放在哪里?

我正在Eclipse中使用Java(Servlets /

JSP)开发动态Web应用程序。我试图使用外部JAR(我使用StringUtilsApache的共享),我很困惑,我应该把罐子(/lib/WEB-

INF/lib?),以及如何做我需要配置我的类路径(在Eclipse)。

我尝试将JAR放在前面提到的两个地方,然后通过单击Add JAR项目属性将它们加载到类路径中,并且两个解决方案都可以正常编译,但是会出现如下运行时错误:

严重:Servlet

UserList的Servlet.service()抛出异常java.lang.NoClassDefFoundError:cs236369.hw5.db.MySqlDbHandler.insert(MySqlDbHandler.java:58)上的org

/ apache / commons / lang /

StringUtils在cs236369.hw5.servlets上org.apache中的javax.servlet.http.HttpServlet.service(HttpServlet.java:617)的.UserList.doGet(UserList.java:50)在javax.servlet.http.HttpServlet.service(HttpServlet.java:717)的。位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)的catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:

233),位于org.apache.catalina.core.StandardHostValve,位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)。org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)处org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)处invoke(StandardHostValve.java:127)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)上的.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)在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(未知源)org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)的CoyoteAdapter.service(CoyoteAdapter.java:298)org.apache.coyote.http11.Http11Protocol

$

Http11ConnectionHandler.process(Http11Protocol.java:588)的CoyoteAdapter.service(CoyoteAdapter.java:298)在org.apache.tomcat.util.net.JIoEndpoint

$

Worker.run(JIoEndpoint.java:489)在java.lang.Thread.run(未知源)org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)的CoyoteAdapter.service(CoyoteAdapter.java:298)org.apache.coyote.http11.Http11Protocol

$

Http11ConnectionHandler.process(Http11Protocol.java:588)的CoyoteAdapter.service(CoyoteAdapter.java:298)在org.apache.tomcat.util.net.JIoEndpoint

$ Worker.run(JIoEndpoint.java:489)在java.lang.Thread.run(未知源)

那么…我该如何加载外部JAR?

请注意,我不太熟悉如何在Java,VM中加载外部JAR或Eclipse如何管理所有这些,因此,我希望能得到详细的解决方案。

回答:

必须将它们放入yourapp/WEB-

INF/lib。(在Eclipse中,您正在正确添加它们)。因此,请确保罐子确实存在。请注意,如果要从Eclipse中启动应用程序,则必须配置部署组装。

通过right click > properties > deployment assemblyEclipse 配置部署程序集。在那里,您应该“添加”“

Java构建路径条目”

以上是 开发Web应用程序时应将外部JAR文件放在哪里? 的全部内容, 来源链接: utcz.com/qa/424136.html

回到顶部