当前位置:网站首页>Make Jar, Not War
Make Jar, Not War
2022-07-05 20:33:00 【Small box】
Around the 4 Years ago , About java The application is finally marked jar Package or war The choice of bag makes me confused .
At that time, more applications were made war Bag , Even if we know it can be played jar package , But before, they were beaten war package , And it seems to be jar There are no obvious benefits of the bag .
But what puzzled me at that time was that more and more practices were turning to fight without giving much reason jar package , So I began to think ......
war Reasons for the package
In a large OTA Inside the enterprise , The application is still marked war package , PaaS The platform will be automatically installed and configured tomcat, I know this is for web server It is good for unified configuration and operation and maintenance . be based on war Behind the series CI/CD 、DevOps The process must have corresponding adaptation , Even if jar There are some advantages I don't know, and it's impossible to use them inside large enterprises overnight , The platform and system need to be adjusted .
SpringBoot At that time, it was not as popular as it is now , This does not mean that people do not use it , I mean relatively new projects , There will be many inside the enterprise “ Old system ” Need to maintain , We can't expect to replace these old systems with new technology stacks at once , Just like you know now web application Generally, the front and back ends are developed separately , But if you take over a use jsp The old guy , You have to maintain that it's not ?
jar Era
Times are different , It seems like decades have passed , But in fact, it's only a few years . But just a few years is enough to change the face of some things .
Now , Cloud native 、 Micro services are popular , It seems that everyone has been very adapted to this development mode , No one is bothered about whether to use SpringBoot, It will only discuss whether the version used is high or low . Not to mention the packaging , It's natural to use jar, Although this kind of looks “ Best practices ”, In the long-term development process, it will form “ Muscle memory ”, But we still need to discuss why .
convenient
Can run Jar It is a convenient way to package self-contained and runnable applications . such , We can minimize dependencies . Can pass Spring boot Maven and Gradle plugin To manage dependency .
Yunyuan is friendly
In the case of self provided containers (docker,k8s), jar The package can be directly used as a single application To manage .
In the past we used to use war It's for multiple applications to share web server, Now is the world of containers , In a container , Generally, only one application process is run . Because there is only one process , We can easily manage it , For example, restart ( Will not affect other applications , Because there are no other applications ).
version control
utilize git And other version control software , You can control everything you need to run the program ( Such as configuration files )
extensible
for example , Copy it to another server , then “ just run it!” No installation and / Or configure the container
Reference resources
https://medium.com/@satyajit.nalavade/make-jar-not-war-josh-long-d6ce5fbb8a23
边栏推荐
- CVPR 2022 | common 3D damage and data enhancement
- Schema and model
- Reinforcement learning - learning notes 4 | actor critical
- Leetcode (695) - the largest area of an island
- 【数字IC验证快速入门】2、通过一个SoC项目实例,了解SoC的架构,初探数字系统设计流程
- mongodb基操的练习
- 信息学奥赛一本通 1340:【例3-5】扩展二叉树
- ICTCLAS word Lucene 4.9 binding
- 3.3 project evaluation
- JS implementation prohibits web page zooming (ctrl+ mouse, +, - zooming effective pro test)
猜你喜欢
![[quick start of Digital IC Verification] 3. Introduction to the whole process of Digital IC Design](/img/92/7af0db21b3d7892bdc5dce50ca332e.png)
[quick start of Digital IC Verification] 3. Introduction to the whole process of Digital IC Design

Oracle tablespace management

How to form standard interface documents

Leetcode: binary tree 15 (find the value in the lower left corner of the tree)

Zero cloud new UI design

.Net分布式事務及落地解决方案

Leetcode(695)——岛屿的最大面积

小程序全局配置

Frequent MySQL operations cause table locking problems

全国爱眼教育大会,2022第四届北京国际青少年眼健康产业展会
随机推荐
Dry goods navigation in this quarter | Q2 2022
3.3、项目评估
A solution to PHP's inability to convert strings into JSON
Pytorch 1.12 was released, officially supporting Apple M1 chip GPU acceleration and repairing many bugs
信息学奥赛一本通 1338:【例3-3】医院设置 | 洛谷 P1364 医院设置
CVPR 2022 | 常见3D损坏和数据增强
Convolution free backbone network: Pyramid transformer to improve the accuracy of target detection / segmentation and other tasks (with source code)
DP: tree DP
计算lnx的一种方式
1、强化学习基础知识点
Leetcode brush question: binary tree 14 (sum of left leaves)
19 mongoose modularization
[quick start to digital IC Verification] 8. Typical circuits in digital ICs and their corresponding Verilog description methods
Notes on key vocabulary in the English original of the biography of jobs (12) [chapter ten & eleven]
【数字IC验证快速入门】3、数字IC设计全流程介绍
Schema和Model
2020 CCPC 威海 - A. Golden Spirit(思维),D. ABC Conjecture(大数分解 / 思维)
Applet page navigation
欢迎来战,赢取丰厚奖金:Code Golf 代码高尔夫挑战赛正式启动
小程序事件绑定
