开发Web应用程序时应将外部JAR文件放在哪里?
我正在Eclipse中使用Java(Servlets /
JSP)开发动态Web应用程序。我试图使用外部JAR(我使用StringUtils
Apache的共享),我很困惑,我应该把罐子(/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 assembly
Eclipse 配置部署程序集。在那里,您应该“添加”“
Java构建路径条目”
以上是 开发Web应用程序时应将外部JAR文件放在哪里? 的全部内容, 来源链接: utcz.com/qa/424136.html