当前位置:首页>开发>正文

Java为什么要打war包

2024-06-30 07:30:51 互联网 未知 开发

Java为什么要打war包?

Java为什么要打war包

war包可以理解为编译过后,直接在web容器中运行的模块,以Tomcat来说,将打包好的war包放入\webapp\下,启动tomcat就会解压war包,相当于发布了该应用程序。那么为什么要将JAVA工程打包成war包,里面有什么东西,war包和jar包有什么区别,下面简单说明:

一个war包就相当于一个ZIP格式的的压缩文件,里面包含JAVA代码编译成的class文件,依赖的包,配置文件,所有静态资源如:js、html、css、jsp等,一个war包可以理解成web项目里面所有的东西。

JAVA打包的另一种方式jar包是为了让.java文件直接编译成.class文件被jvm跨平台直接运行,当然,jar包里面还包含一些特殊文件,比如:manifects和META-INF,描述符等,用来指示工具如何处理特定的jar。

jar包的主要作用就是别人写好的JAVA文件你只要放入自己的lib目录下,你的程序就可以读取使用,或者使用pom文件直接添加需要的jar包的maven依赖。其实作用一样,就是引入别人的JAVA程序在你的工程中。一个war包可能里面存在多个jar包,是war包的组成部分。

springboot的打包方式jar包也可以直接启动web应用的原因是它里面嵌入了内置的web容器,只要启动springboot的main方法入口,程序就会自动启动toncat或者别的web容器的starter,相当于自我发布服务,所以操作非常方便。

打war是对java的偏见

java很多开发都在用

例如安卓手机端开发,web开发也不一定打war包,war包只是运行在一个容器里的例如TOMCAT压缩包而已。现在很多web开发都打jar包了。

java语言是面向对象的鼻祖

java之前是sun公司的,后来被收购了,是面向对象的鼻祖,例如微软的c#就是模仿java的自己搞了一套。

java的开源项目也很多

很多大数据方面的开源项目都是开源的,也都不是war包。其中阿里巴巴也开源了很多。

这个事情好像就发生在几年前。

说是war这小子经常欺负maven同学,maven是一位乖巧可爱的小女生,经常帮班里的学渣java同学做一些事情,深得java同学的喜欢。java同学发现war这小子欺负自己的心上人,然后就找了他的狐朋狗友spring、springmvc、springboot、mybatis还有社会青年nginx、redis、kafka、mysql等人打了war这小子。

事情的经过好像就是这样。

这个不一定的。 spring boot 架构的,发布默认打包成 jar。

服务器运行: nohup Java -jar 你程序的名称 &