题干
在项目发布阶段,常用的2类发布文件是jar包与war包,
jar包与war发布各有什么优缺点?
关键提炼
jar的优点
- jar包使用Zip作为基础,不同的是jar可以发布,部署
- jar包里可以内聚很多页面,例如html、jsp、js、css、icon等
- 部署简单,只需要java的sdk,通过命令行即可执行
- 如果要进行docker镜像,常用的操作是通过jar包写入docker镜像(war包也可以支持docker)
war包优点
- 基于tomcat发布,性能调优更方便
- 多个项目可以通用一个容器,一个端口
- 多个项目使用同一个服务器实例,占用资源较少
- 如果有较少的前端修改,可以单独文件修改替换,不用重新发布
jar包缺点
- 每次修改都需要重新打包所有文件
- 每个项目启动都需要单独的进程,以及单独的
war包缺点
- 需要依赖tomcat作为宿主
- 对于容器化等分布式技术支持较少