【问题标题】:How java web application are bundled as jarjava web应用程序如何打包成jar
【发布时间】:2021-02-26 19:09:14
【问题描述】:
我知道对于任何 RESTful Web 服务,打包应该是 .war 格式,以便可以将其部署到任何 servlet 容器,例如:tomcat 或 jetty。目前我正在从事某个项目,我看不到任何带有 .war 扩展名的文件。我看到的只是一个 .jar 文件,我猜这个 jar 本身正在被部署。我想了解它是如何以及为什么起作用的。
【问题讨论】:
标签:
java
tomcat
servlets
webserver
servlet-container
【解决方案1】:
Java Web 项目被打包或部署为 jar 包,因为它被打包在 jar 包中。和spring boot一样,jar包中嵌入了Tomcat或者underlow或者jetty。 java -jar 用于命令从一个主启动类的main方法入口启动容器,然后初始化容器并加载web项目相关资源。
你可以通过spring boot快速获取demo:https://spring.io/projects/spring-boot
【解决方案2】:
它可以是别的东西,但现在,我能想到的最明显的解释是,您的应用程序正在使用 Java 框架设计之一来帮助构建 Web 应用程序,例如 Spring Boot 或 Dropwizard。这些框架打包了自己的网络服务器,并在打包后生成.jar,以便能够在容器上或需要的任何地方轻松运行它们。例如 Spring Boot 通常使用 Tomcat,Dropwizard 使用 Jetty。