假设我有一个.war文件
myWarFile.war
此文件中包含一个jar文件 - WEB-INF / myJarFile.jar
我想查看myJarFile.jar中的文件是什么,而不提取war文件。
有办法吗?
答案 0 :(得分:6)
jar xvf thewar.war /path/to/jar/inside/war #extract the file...
jar tvf /path/to/jar/indide/war.jar # read the extracted jar
rm /path/to/jar/inside/war # remove it
我刚刚这样做了,并没有删除我从战争中提取的文件。请验证虽然......;)
答案 1 :(得分:1)
如果你用7-zip打开战争,你也可以打开嵌套的罐子。
当我想在战争中搜索或grep类路径上的所有类和其他文件时,我总是使用这个脚本(尽管它确实提取了war文件)
#!/bin/bash
#
# Unzips all the libs in a war
set -o errexit
set -o nounset
mkdir -p contents
cd contents
unzip $1
mkdir -p jars
cd jars
for jar in ../WEB-INF/lib/*.jar; do
basejar=$(basename $jar)
mkdir -p "$basejar"
unzip -o "$jar" -d "$basejar"
done
答案 2 :(得分:0)
压缩存档(.war就是其他内容)包含目录和打包文件。没有先提取它们,就无法访问任何打包文件的内容。