环境

RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + Putty 0.62

 

问题

Linux下打包压缩war、解压war包和jar命令

 

解决

 

把project_a文件夹下的文件打包成project.war

 

1.       打包

 

jar -xvf project.war /project_a

 

Linux 打包java发布命令 linux怎么打包jar_jar

 

-c   创建war包

-v   显示过程信息

-f   指定 JAR文件名,通常这个参数是必须的

-M  不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m参数

-0   这个是阿拉伯数字,只打包不压缩的意思

 

2.       解压

 

jar -xvf project.war

 

Linux 打包java发布命令 linux怎么打包jar_jar_02

 

解压到当前目录

 

jar 命令详解 

 

使用不带任何的 jar 命令我们可以看到 jar 命令的用法如下:

 

jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C目录]文件名 ...

 

其中 {ctxu} 是 jar 命令的子命令,每次 jar命令只能包含 ctxu中的一个,它们分别表示:

 

-c 创建新的 JAR文件包

 

-t 列出 JAR文件包的内容列表

 

-x 展开 JAR文件包的指定文件或者所有文件

 

-u 更新已存在的 JAR文件包 (添加文件到 JAR文件包中)

 

特别注意,在参数的下达中, c/x/t/u仅能存在一个!不可同时存在!

因为不可能同时压缩与解压缩。

 

-z :是否同时具有 gzip的属性?亦即是否需要用 gzip压缩?

-j :是否同时具有 bzip2的属性?亦即是否需要用 bzip2压缩?

-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f 指定 JAR文件名,通常这个参数是必须的

 

请留意,在 f 之后要立即接档名喔!不要再加参数!

   例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成

   『 tar -zcvPf tfile sfile』才对喔!

 

-p :使用原文件的原来属性(属性不会依据使用者而变)

-P :可以使用绝对路径来压缩!

-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!

–exclude FILE:在压缩的过程中,不要将 FILE打包!

 

-m 指定需要包含的 MANIFEST清单文件

 

-0 只存储,不压缩,这样产生的 JAR文件包会比不用该参数产生的体积大,但速度更快

 

-M 不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m参数

 

[jar-文件]即需要生成、查看、更新或者解开的 JAR文件包,它是 -f参数的附属参数

 

[manifest-文件]即 MANIFEST清单文件,它是 -m参数的附属参数

 

[-C 目录]表示转到指定目录下去执行这个 jar命令的操作。它相当于先使用 cd命令转该目录下再执行不带 -C参数的 jar命令,它只能在创建和更新 JAR文件包的时候可用。  

 

文件名 ... 指定一个文件/目录列表,这些文件/目录就是要添加到 JAR文件包中的文件/目录。如果指定了目录,那么 jar命令打包的时候会自动把该目录中的所有文件和子目录打入包中。