jar -tvf hello.war
但是,我的.war
在.jar
内的lib
文件夹中也包含一些.war
。
我需要一个命令来显示.jar
内所有.war
的内容。
我需要命令行而不使用像Winrar这样的工具的原因是因为我需要将它合并到我的UNIX shell脚本中。
答案 0 :(得分:0)
您可以使用简短的脚本执行此操作。
TEMPDIR=`mktemp -d`
REALPATH=`pwd`/$1
(cd $TEMPDIR && jar xf $REALPATH)
for j in `find $TEMPDIR -name "*.jar"`; do echo `basename $j`; jar tvf $j; done
rm -rf $TEMPDIR
E.G。
$ ./go.sh x.war
z.jar
0 Sat Jul 30 21:53:20 EST 2011 META-INF/
71 Sat Jul 30 21:53:20 EST 2011 META-INF/MANIFEST.MF
182 Sat Jul 30 21:52:54 EST 2011 go.sh
25 Sat Jul 30 21:50:46 EST 2011 zz.sh
x.jar
0 Sat Jul 30 21:33:28 EST 2011 META-INF/
71 Sat Jul 30 21:33:28 EST 2011 META-INF/MANIFEST.MF
0 Sat Jul 30 21:33:20 EST 2011 x
答案 1 :(得分:0)
在shell脚本中没有用,但在交互式查看webapps时我发现这样做的最简单方法是在emacs中打开它们;存档模式了解罐子,只需通过添加就可以了解.wars
(add-to-list 'auto-mode-alist '("\\.war\\'" . archive-mode))
.emacs
。然后你可以像普通目录一样打开战争,加上任何东西: