当前位置:网站首页>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
原网站

版权声明
本文为[Small box]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207052031475111.html

随机推荐