美文网首页Java web
jar与war包的区别和命令

jar与war包的区别和命令

作者: 阿当运维 | 来源:发表于2020-11-04 14:29 被阅读0次

关于java maven项目的部署,一般需要打包成 jar包或者war包。

jar(java)和war(web)包两者的区别在于

1.war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。

2.jar 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序。

3.jar包:直接通过内置tomcat运行,不需要额外安装tomcat。如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置。内置tomcat没有自己的日志输出,全靠jar包应用输出日志。但是比较方便,快速,比较简单。

4.war包:传统的应用交付方式,需要安装tomcat,然后放到waeapps目录下运行war包,可以灵活选择tomcat版本,可以直接修改tomcat的配置,有自己的tomcat日志输出,可以灵活配置安全策略。相对打成jar包来说没那么快速方便。

jar常用命令

jar命令一般用来对jar包文件处理,jar包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类。
jar常用参数
-c 创建一个jar包
-t 显示jar中的内容列表
-x 解压jar包
-u 添加文件到jar包中
-i 为指定的jar文件创建索引文件
-f 指定jar包的文件名
-v 生成详细的报造,并输出至标准设备

2、例子

以文件test创建test.jar (打jar包命令)

jar cf test.jar test

将jar中的文件解出到当前目录下 (解压jar命令,此格式也可以用unzip xxx.jar -d path 实现)

jar xf test.jar a.txt

查看jar文件列表

jar tf test.jar

向test.jar中添加或更新文件

jar vuf test.jar a.txt 

将命令执行的过程输出输出到文件a.txt中

jar vtf test.jar > a.txt

maven的常用命令

mvn clean package 
(-Dmaven.test.skip=true) --跳过maven测试用例

依次执行clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
mvn clean install
依次执行clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
mvn clean deploy
依次执行clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段

package 命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库.

install 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库.

deploy 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库.

相关文章

  • jar、war、ear打包的异同

    三者其实都是压缩包,区别在于压缩了什么内容。 jar与war包都是通过jar命令打包 jar包主要存放类 war包...

  • jar与war包的区别和命令

    关于java maven项目的部署,一般需要打包成 jar包或者war包。 jar(java)和war(web)...

  • SpringBoot war包 jar包区别

    Spring Boot支持发布jar包和war包,推荐使用jar包的形式,使用jar包比较方便 区别 pom文件p...

  • maven打包

    pom包和jar包war包的区别 pom工程:用在父级工程或聚合工程中,用来做jar包的版本控制。jar工程:将会...

  • war包 jar区别

    jar包和war包的区别:war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar...

  • 月笔记(2017-08)

    执行jar包命令:java -jar jar路径 StringBuffer和StringBuilder的区别Str...

  • jar 包和 war 包的区别

    jar 包是 java 打的包,war 包可以理解为 javaweb 打的包 war 是一个 web 模块,其中需...

  • jar包和war包的区别:

    jar包和war包的区别: war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而ja...

  • Jar 包和 War 包的区别

    秉徇【先有问题,才有方案】 1. 问题 1.1 前言 编译就是个翻译的过程,因为你写的高级语言程序猿能看懂,但是人...

  • war和jar包的区别

    jar包和war包的区别: war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而ja...

网友评论

    本文标题:jar与war包的区别和命令

    本文链接:https://www.haomeiwen.com/subject/bfdgvktx.html