当前位置: 首页 > 面试题库 >

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

郎志
2023-03-14
问题内容

我正在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构建路径条目”



 类似资料:
  • 问题内容: Java Web Start / JNLP应用程序的jar文件在哪里缓存? 问题答案: 这取决于您的操作系统和虚拟机,例如: 使用Sun JDK 1.5和Windows XP: 使用Sun JDK 1.6和Vista: 使用Sun JDK 1.6和GNU / Linux: 使用Sun JDK 1.6和Mac OS X: 使用Sun JDK 6,可以通过Java控制面板( “ 常规” 选

  • 本文向大家介绍怎么将 SpringBoot web 应用程序部署为 JAR 或 WAR 文件?相关面试题,主要包含被问及怎么将 SpringBoot web 应用程序部署为 JAR 或 WAR 文件?时的应答技巧和注意事项,需要的朋友参考一下 通常,我们将 web 应用程序打包成 WAR 文件,然后将它部署到另外的服务器上。这样做使得我们能够在相同的服务器上处理多个项目。当 CPU 和内存有限的情

  • 我正在开发一个Java的Web应用程序,它需要将上传的文件存储在一个目录中,并将嵌入式Neo4j数据库存储在另一个目录中。我正在将warfile部署到Tomcat以服务于应用程序,并且应用程序需要在Linux或Windows中的Tomcat下运行。 我应该把这两个目录放在主机系统的文件系统的什么位置? 我很困惑,因为我习惯于将信息存储在通过URL等指定的数据库中。感谢您的帮助。

  • spring启动时,mvc war文件已部署在独立的tomcat,位于 我可以把它移到? 一般情况下,如果不使用Spring boot,我的配置文件将位于可以移动到 这同样适用于也是吗?那怎么办? 这将有助于在重新部署时自动备份我的配置文件。

  • 我有一个标准的Spring靴项目。 我有一个/src/main/resources文件夹,其中有几个配置文件。 我怎样才能用Gradle做到这一点呢?

  • Spring Boot非常适合Web应用程序开发。 您可以使用嵌入式Tomcat,Jetty,Undertow或Netty创建自包含的HTTP服务器。 大多数Web应用程序使用spring-boot-starter-web模块快速启动和运行。 您还可以使用spring-boot-starter-webflux模块选择构建响应式Web应用程序。 如果您还没有开发Spring Boot Web应用程序