我知道,对于任何restful web服务,打包都应该是.war格式,这样它就可以被移植到任何servlet容器,例如:tomcat或jetty。目前我正在做一些项目,我看不到任何扩展名为.war的文件。我看到的只是一个.jar文件,我猜jar本身正在被部署。我想了解它是如何工作的以及为什么工作的。
它可能是其他东西,但现在,我能想到的最明显的解释是,您的应用程序正在使用一种java框架设计来帮助构建web应用程序,如Spring Boot或Dropwizard。这些框架打包了自己的Web服务器,打包后会生成.jar
,以便能够在容器上或需要的任何地方轻松运行。例如,Spring Boot通常使用Tomcat,Dropwizard使用Jetty。
JavaWeb项目被打包或部署为jar包,因为它被打包在jar包中。与spring-boot一样,Tomcat、underlow或jetty都嵌入在jar包中。使用java-jar。该命令从主启动类的主方法条目启动容器,然后初始化容器并加载与web项目相关的资源。
您可以通过spring-boot快速获得演示:https://spring.io/projects/spring-boot