如何在war文件中列出jar文件的内容

时间:2010-07-13 14:42:00

标签: jar

假设我有一个.war文件

myWarFile.war

此文件中包含一个jar文件 - WEB-INF / myJarFile.jar

我想查看myJarFile.jar中的文件是什么,而不提取war文件。

有办法吗?

3 个答案:

答案 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就是其他内容)包含目录和打包文件。没有先提取它们,就无法访​​问任何打包文件的内容。