当前位置:网站首页>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
边栏推荐
- 死信队列入门(两个消费者,一个生产者)
- 【愚公系列】2022年7月 Go教学课程 004-Go代码注释
- [record of question brushing] 1 Sum of two numbers
- Propping of resources
- 物联网智能家居基本方法实现之经典
- Leetcode brush questions: binary tree 18 (largest binary tree)
- Leetcode (695) - the largest area of an island
- DP: tree DP
- Informatics Olympiad 1338: [example 3-3] hospital setting | Luogu p1364 hospital setting
- 信息学奥赛一本通 1339:【例3-4】求后序遍历 | 洛谷 P1827 [USACO3.4] 美国血统 American Heritage
猜你喜欢
14、Transformer--VIT TNT BETR
Oracle tablespace management
CVPR 2022 | 常见3D损坏和数据增强
[quick start of Digital IC Verification] 1. Talk about Digital IC Verification, understand the contents of the column, and clarify the learning objectives
物联网智能家居基本方法实现之经典
[quick start of Digital IC Verification] 7. Basic knowledge of digital circuits necessary for verification positions (including common interview questions)
kubernetes资源对象介绍及常用命令(五)-(ConfigMap&Secret)
How to form standard interface documents
About the priority of Bram IP reset
Applet event binding
随机推荐
Leetcode brush questions: binary tree 11 (balanced binary tree)
PyTorch 1.12发布,正式支持苹果M1芯片GPU加速,修复众多Bug
[quick start of Digital IC Verification] 1. Talk about Digital IC Verification, understand the contents of the column, and clarify the learning objectives
About the priority of Bram IP reset
Reinforcement learning - learning notes 4 | actor critical
Leetcode: binary tree 15 (find the value in the lower left corner of the tree)
Leetcode brush question: binary tree 14 (sum of left leaves)
DP: tree DP
3.3 project evaluation
实操演示:产研团队如何高效构建需求工作流?
IC科普文:ECO的那些事儿
Unity editor extended UI control
Oracle tablespace management
[C language] merge sort
Leetcode skimming: binary tree 10 (number of nodes of a complete binary tree)
mongodb/文档操作
Schema和Model
Common view container class components
点云文件的.dat文件读取保存
USACO3.4 “破锣摇滚”乐队 Raucous Rockers - DP