首先我们先理解一下什么是jar包和war包!
jar包:jar是类的归档文件!
JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,为 J2EE 应用程序创建的jar文件是 EAR 文件(企业 jar文件),jar文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,jar文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 jar中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 jar。
通常是开发时要引用通用类,打成jar包便于存放管理,当你使用某些功能时就需要这些jar包的支持,需要导入jar包。
jar包就是java的类进行编译生成的class文件打包的压缩包,包里面就是一些class文件。当我们自己使用Maven写一些java程序,进行打包生成jar包。同时在可以在其他的工程下使用,但是我们在这个工程依赖的jar包,在其他工程使用该JAR包也要导入。最常接触的就是你Maven引入的东西!
war包:war包是一个Web应用程序!
一个web程序进行打包便于部署的压缩包,里面包含我们web程序需要的一些东西,其中包括web.xml的配置文件,前端的页面文件,以及依赖的jar。便于我们部署工程,直接放到tomcat的webapps目录下,直接启动tomcat即可。同时,可以使用WinRAR查看war包,直接将后缀.war改成.rar。
jar包和war包区别
jar是java普通项目打包,通常是开发时要引用通用类,打成jar包便于存放管理。当你使用某些功能时就需要这些jar包的支持,需要导入jar包。
war是java web项目打包,web网站完成后,打成war包部署到服务器,目的是为了节省资源,提供效率。
jar文件(扩展名为. Jar,Java Application Archive)包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等。通常是开发时要引用的通用类,打成包便于存放管理。简单来说,jar包就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属性,这些jar包一般放在lib目录下。
war文件(扩展名为.War,Web Application Archive)包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的一组文件、类和资源,用户可以对jar文件进行封装,并把它作为小型服务程序(servlet)来访问。 war包是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。war包是Sun提出的一种web应用程序格式,与jar类似,是很多文件的压缩包。war包中的文件按照一定目录结构来组织。根据其根目录下包含有html和jsp文件,或者包含有这两种文件的目录,另外还有WEB-INF目录。通常在WEB-INF目录下含有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的servlet类和jsp,或者servlet所依赖的其他类(如JavaBean)。通常这些所依赖的类也可以打包成jar包放在WEB-INF下的lib目录下。
SpringBoot项目既可以打成war包发布,也可以找成jar包发布。
jar包:直接通过内置Tomcat运行,不需要额外安装Tomcat。如需修改内置Tomcat的配置,只需要在SpringBoot的配置文件中配置。内置Tomcat没有自己的日志输出,全靠jar包应用输出日志。但是比较方便,快速,比较简单。
war包:传统的应用交付方式,需要安装Tomcat,然后放到wabapps目录下运行war包,可以灵活选择Tomcat版本,可以直接修改Tomcat的配置,有自己的Tomcat日志输出,可以灵活配置安全策略,相对打成jar包来说没那么快速方便。
=========================================================================
OK,到这里我们就大致了解了什么是Jar包什么是War包了,下面我们就看看IDEA中的打包步骤!
=========================================================================
1:IDEA打Jar包的步骤
方法一:不使用Maven直接打Jar包。
1.File -->Project Structure -->Artifacts --> Jar --> From module with dependencies.
点击ok以后我们在返回上一步Project Structuer中发现IDEA中默认已经将我们的jar包输出目录填上了,这时我们可以更改一下上述的jar包输出目录,这样也更加方便的管理,此时我们更改号路径以后在点下右下角的Apply就可以了。
2.Build --> Build Artifacts
选择上述的Build Artifacts后会自动弹出来下面的Build
3.这时我们去刚才相应的jar包输出目录发现已经有了对应的包
4.运行:可以使用如下两种方法来运行jar包
java -classpath xxx.jar xxx.xx.xx.主类名
java -jar xxx.jar
【OK,大功告成了!】
方法二:使用Maven打jar包
1.当你的Project中使用了Maven时,可以直接在Lifecycle中执行打包,第一步先Clean一下,然后记得编译,别忘记了,之前我jar包老是运行报错就是因为没有Clean和compile就直接package了。
2.双击package后我们即可以发现在target目录下便生成了一个对应的jar包,这里jar包和刚才方法一其实是一样的,只不过我们这次用Maven生成的。
【OK,大功告成了!】
2:IDEA打War包的步骤
一:打开Project Structure界面
第二步,选择Artifacts一栏:
第三步,选择你自己的项目(一般来说只要运行过IDEA项目的,这一步可以忽略):
第四步:
第五步,点击OK:
第六步,开始构建:
第七步,查看War包:
你指定的文件夹目录下:比如:(E:\data\spider)
【OK,大功告成了!】
=========================================================================
大功告成,可以去发包了,一条龙服务,你学会了吗?点赞关注不迷路~