아틴
Atin
아틴
전체 방문자
오늘
어제
  • 분류 전체보기 (460)
    • Devlopment (246)
      • 정리 글 (20)
      • MicroServices (0)
      • Reactive, Concurrenc.. (12)
      • Java (44)
      • Spring (20)
      • C,C++,Ruby,Python (52)
      • Mobile (39)
      • Web (35)
      • Tip & Info (14)
      • Unit Test (7)
    • Infra (44)
      • OS (21)
      • RDBMS (13)
      • NoSQL&Cache (5)
      • AWS (4)
    • Computer Science (11)
    • Etc (156)

블로그 메뉴

  • Home
  • Guestbook

공지사항

인기 글

태그

  • 해킨토시
  • 아이폰
  • Linux
  • Java
  • 안드로이드
  • Python
  • jsp
  • 자바
  • 전라도
  • Dungeons & Dragons
  • mysql
  • 여행
  • TRPG
  • CSS
  • 정읍
  • Android
  • 던젼 앤 드래곤즈
  • Ruby on Rails
  • C
  • javascript

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
아틴

Atin

Devlopment/Java

Java JAR, WAR파일에 버전 심고 확인하기

2013. 5. 25. 16:02
반응형

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

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

하지만 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 )

반응형

'Devlopment > Java' 카테고리의 다른 글

static final Logger에 대한 고촬  (0) 2018.02.08
MessageFormat의 숫자 대신 문자열 키값을 이용해서 값을 넣고 싶을 때  (0) 2018.01.12
Jackson, ObjectMapper 알지 못하는 프로퍼티도 허용하기  (0) 2017.08.21
Clean Code - Null 리턴  (0) 2016.02.26
[Gradle] Build 오류 - Could not fetch model of type 'EclipseProject' using Gradle distribution  (0) 2014.10.24
Java Network Framework, Netty  (0) 2013.04.23
JBoss 설치 및 연동  (0) 2013.04.19
Mavn 및 플러그인 설치  (0) 2013.04.19
Java 이전 버전을 받을 수 있는 URL  (0) 2013.03.28
Java 실행  (0) 2013.01.31
    'Devlopment/Java' 카테고리의 다른 글
    • Clean Code - Null 리턴
    • [Gradle] Build 오류 - Could not fetch model of type 'EclipseProject' using Gradle distribution
    • Java Network Framework, Netty
    • JBoss 설치 및 연동
    아틴
    아틴

    티스토리툴바