当前位置:网站首页>Make Jar, Not War
Make Jar, Not War
2022-07-07 01:21:00 【Small box technology sharing】
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
This paper is written by mdnice Multi platform Publishing
边栏推荐
- ARM裸板调试之JTAG原理
- 黑马笔记---异常处理
- [case sharing] basic function configuration of network loop detection
- go-zero微服务实战系列(九、极致优化秒杀性能)
- 身体质量指数程序,入门写死的小程序项目
- 系统休眠文件可以删除吗 系统休眠文件怎么删除
- 【案例分享】网络环路检测基本功能配置
- Neon Optimization: performance optimization FAQ QA
- There is an error in the paddehub application
- Come on, don't spread it out. Fashion cloud secretly takes you to collect "cloud" wool, and then secretly builds a personal website to be the king of scrolls, hehe
猜你喜欢
BFS realizes breadth first traversal of adjacency matrix (with examples)
ClickHouse字段分组聚合、按照任意时间段粒度查询SQL
Do you understand this patch of the interface control devaxpress WinForms skin editor?
2022 Google CTF SEGFAULT LABYRINTH wp
Lldp compatible CDP function configuration
UI控件Telerik UI for WinForms新主题——VS2022启发式主题
Come on, don't spread it out. Fashion cloud secretly takes you to collect "cloud" wool, and then secretly builds a personal website to be the king of scrolls, hehe
ARM裸板调试之JTAG调试体验
Niuke cold training camp 6B (Freund has no green name level)
力扣1037. 有效的回旋镖
随机推荐
Spark TPCDS Data Gen
C language - array
"Exquisite store manager" youth entrepreneurship incubation camp - the first phase of Shunde market has been successfully completed!
How to evaluate load balancing performance parameters?
Neon Optimization: an instruction optimization case of matrix transpose
身体质量指数程序,入门写死的小程序项目
【js】获取当前时间的前后n天或前后n个月(时分秒年月日都可)
The cost of returning tables in MySQL
剑指 Offer II 035. 最小时间差-快速排序加数据转换
Informatics Olympiad YBT 1171: factors of large integers | 1.6 13: factors of large integers
分享一个通用的so动态库的编译方法
Make Jar, Not War
Neon Optimization: an optimization case of log10 function
Oracle: Practice of CDB restricting PDB resources
1123. 最深叶节点的最近公共祖先
Implementation principle of waitgroup in golang
Dynamic planning idea "from getting started to giving up"
Oracle:CDB限制PDB资源实战
[hfctf2020]babyupload session parsing engine
Add the applet "lazycodeloading": "requiredcomponents" in taro,