jar包和war包有什么区别
jar
jar文件包括java普通类、资源文件和普通文件,在maven中即是打包src/main/java和src/main/resources资源文件夹下的所有文件。在打包的时候会自动生成MATA-INF文件夹,用于存储maven的pom信息和MANIFEST.MF文件
1.Jar文件(扩展名为. Jar,Java Application Archive)包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等。
2.jar包是java打的包,一般只是包括一些编译后class文件和一些部署文件,在声明了Main_class之后是可以用java命令运行的。
3.jar包通常是开发时要引用通用类,打成包便于存放管理。
————————————————
版权声明:本文为优快云博主「杨光彩-sunny」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/sunny5319/article/details/90933532
war
1.War文件(扩展名为.War,Web Application Archive)包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的一组文件、类和资源,用户可以对war文件进行封装,并把它作为小型服务程序(servlet)来访问。
2.war包可以理解为javaweb打的包,是一个web模块,包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。
3.war包需要发布到一个容器里面,拿Tomcat来说,将war文件包放置它的\webapps\目录下,启动Tomcat,这个包可以自动进行解压,也就是你的web目录,相当于发布了。
我们什么时候应该使用WAR文件呢?在开发阶段不适合使用WAR文件,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新Servlet类文件,而每一次改动后,重新建立WAR文件将是一件浪费时间的事情。在产品发布阶段,使用WAR文件是比较合适的,因为在这个时候,几乎不需要再做什么改动了。
————————————————
【建立的条件】:
1.需要建立正确的Web应用程序的目录层次结构。
2.建立WEB-INF子目录,并在该目录下建立classes与lib两个子目录。
3.将Servlet类文件放到WEB-INF\classes目录下,将Web应用程序所使用Java类库文件(即JAR文件)放到WEB-INF\lib目录下。
4.将JSP页面或静态HTML页面放到上下文根路径下或其子目录下。
5.建立META-INF目录,并在该目录下建立context.xml文件。