배포파일에 대하여 버전을 확인할 수 있게 해달라는 요청이 있었다.

파일명 뒤에 버전 붙이는 시덥잖은 방법으로는 한계가 있다.

하지만 java의 배포파일에 버전을 넣는 방법은 없다. 내가 모르는 것인가?

그리하여 JAR나 WAR에 공통적으로 들어가는 MANIFEST.MF 파일에 버전을 넣기로 했다.


해당 프로젝트는 Ant로 빌드하기 때문에 ant에 설정값을 추가했다.


<manifest file="MANIFEST.MF">

<attribute name="Manifest-Version" value="4.2013.2" />

</manifest>

<war ... manifest="MANIFEST.MF">

<jar ... manifest="MANIFEST.MF">


JAR나 WAR나 마찬가지이다.


그리고 저 파일을 확인할 수 있게 하기 위하여 bat파일과 sh파일을 만들었다.


check_version.bat

@echo off

if "%1" == "" goto HELP

jar xf %1 META-INF/MANIFEST.MF

TYPE META-INF\MANIFEST.MF

DEL META-INF\MANIFEST.MF

RMDIR META-INF\

goto QUIT


:HELP

echo ERROR: Missing JAR OR WAR file name

echo Usage: check_version.sh $war or jar filename

:QUIT



check_version.sh

#!/bin/ksh


if [ "$1" == "" ]; then

        echo "ERROR: Missing JAR OR WAR file name"

        echo "Usage: check_version.sh $war or jar filename"

        exit

fi


jar xf $1 META-INF/MANIFEST.MF

cat META-INF/MANIFEST.MF

rm META-INF/MANIFEST.MF

rm -r META-INF/




Reference

[1] Ant로 Manifest 설정 ( http://blog.naver.com/PostView.nhn?blogId=taekiblue&logNo=150033090682 )

Leave a Comment


to Top