网上很多人说用jar包解压,但jar命令解压时不能指定目录,推荐使用unzip解压war包。
Linux系统中先检查是否可用unzip命令
- [root@VM_83_104_centos ~]# unzip --help
- -bash: unzip: command not found
需要先自行下载:yum install zip unzip
- [root@VM_83_104_centos ~]# yum install zip unzip
- Loaded plugins: fastestmirror, langpacks
- epel | 4.3 kB 00:00:00
- extras | 3.4 kB 00:00:00
- mysql-connectors-community | 2.5 kB 00:00:00
- mysql-tools-community | 2.5 kB 00:00:00
- mysql56-community | 2.5 kB 00:00:00
- os | 3.6 kB 00:00:00
- updates | 3.4 kB 00:00:00
- (1/3): epel/7/x86_64/group_gz | 170 kB 00:00:00
- (2/3): epel/7/x86_64/updateinfo | 673 kB 00:00:00
- (3/3): epel/7/x86_64/primary_db | 4.3 MB 00:00:00
- Loading mirror speeds from cached hostfile
- Package zip-3.0-10.el7.x86_64 already installed and latest version
- Package unzip-6.0-15.el7.x86_64 already installed and latest version
- Nothing to do
查看unzip命令的帮助
- [root@VM_83_104_centos ~]# unzip --help
- UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. Send
- bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
-
- Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
- Default action is to extract files in list, except those in xlist, to exdir;
- file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage).
-
- -p extract files to pipe, no messages -l list files (short format)
- -f freshen existing files, create none -t test compressed archive data
- -u update files, create if necessary -z display archive comment only
- -v list verbosely/show version info -T timestamp archive to latest
- -x exclude files that follow (in xlist) -d extract files into exdir
- modifiers:
- -n never overwrite existing files -q quiet mode (-qq => quieter)
- -o overwrite files WITHOUT prompting -a auto-convert any text files
- -j junk paths (do not make directories) -aa treat ALL files as text
- -U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields
- -C match filenames case-insensitively -L make (some) names lowercase
- -X restore UID/GID info -V retain VMS version numbers
- -K keep setuid/setgid/tacky permissions -M pipe through "more" pager
- See "unzip -hh" or unzip.txt for more help. Examples:
- unzip data1 -x joe => extract all files except joe from zipfile data1.zip
- unzip -p foo | more => send contents of foo.zip via pipe into program more
- unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer
- [root@VM_83_104_centos ~]#
需要用到的指令:-o: -q:
-o overwrite files WITHOUT prompting:不必先询问用户,unzip执行后覆盖原有文件。
-q quiet mode (-qq => quieter):执行时不显示任何信息(静默)。
-dextractfilesintoexdir:把压缩文件解压到指定目录下
解压war文件到指定目录:将test.war文件解压到test目录下=unzip -oq test.war -d test
最后附上一个通过jar命令操作war包的方式:
压缩war包,把当前目录下的所有文件打包到xxx.war:jar -cvfM0 xxx.war ./
- -c 创建war包
- -v 显示过程信息
- -f
- -M
- -0 这个是阿拉伯数字,只打包不压缩的意思
解压war包,解压xxx.war到当前目录:jar -xvf game.war