jar 와 war 를 가끔 압축 해제해서 제대로 패키징되었는지 확인해 볼 필요가 생기는데 jar 유틸리티는 압축을 특정 폴더에 풀어주는 옵션이 없다.
.war 은 압축해제시 현재 폴더에 다음과 같이 여러개의 하위 폴더가 생겨서 불편하기도 하다.
> ls
META-INF resources WEB-INF
CODE
war 파일과 압축 해제할 디렉터리를 옵션으로 받아서 압축해제하는 shell script 를 간단하게 만들어 본다.
#!/bin/sh
function usage {
echo " USAGE: $0 WAR_FILE EXTRACT_DIRECTORY"
echo "EXAMPLE: $0 my-webapp.war /home/lesstif/webapp/"
exit;
}
if [ $# -ne 2 ]
then
echo "No arguments supplied";
usage;
fi
WAR="$1";
DIR="$2";
if [ ! -f ${WAR} ];then
echo "WAR file(${WAR}) not found!";
exit 1;
fi;
if [ ! -d ${DIR} ];then
echo "target directory(${DIR}) does not exist. create it.";
mkdir -p ${DIR};
fi;
WAR="$PWD/$1";
echo "Entering Directory $WAR"
cd $DIR
jar -xvf ${WAR}
BASH