어플리케이션의 버전을 표시하기 위해서 MANIFEST.MF 파일에서 정보를 가져올 수 있다.
Manifest-Version: 1.0
SCM-Revision: 23456
Implementation-Title: MyApp Maven Webapp
Implementation-Version: 2.0.0
Implementation-Vendor-Id: com.myapp
Build-Jdk: 1.7.0_60
Built-By: firstboos
Created-By: Maven Integration for Eclipse
Specification-Title: MyApp Maven Webapp
Specification-Version: 2.0.0
pom.xml 에서 Version 부분을 2.0.0 으로 바꾸고, maven build 를 하니, "Implementaion-Version" 과 "Specification-Version" 이 2.0.0 으로 바뀌었다. 그외 SCM(Source Code Management) (:svn 을 사용중) 의 리비전(revision) 번호를 얻어온다.
버전 정보를 웹 어플리케이션에 붙이기 위해서 여러 방법이 있겠지만(다음 블로그 글을 참조; http://www.javablog.fr/javaspring-get-and-display-the-version-from-manifest-mf.html ) Spring 3 을 사용하고 있다면, Spring EL 과 util:properties 을 이용해서 MANIFEST 정보를 가져올 수 있다.
<!--?xml version="1.0" encoding="UTF-8"?-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:util="http://www.springframework.org/schema/util"
...
>
<util:properties id="data" location="classpath:config/data-access.xml">
<util:properties id="manifest" location="/META-INF/MANIFEST.MF">
</beans>
- Web(MyApp) 어플리케이션 구조
tomcat/
\_ webapps/
\_ MyApp/
\_ META-INF/
\_ MANIFEST.MF
\_ WEB-INF/
\_ classes/
\_ config/
\_ data-access.xml
\_ lib/
\_ view/
\_ web.xml
jsp 파일에 MANIFEST 정보를 표시한다.
<%@ page language="java" session="false" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="f" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="s" uri="http://www.springframework.org/tags"%>
...
<span><s:eval expression="@manifest['Implementation-Version']" />.<s:eval expression="@manifest['SCM-Revision']" /></span>
참조 :
http://www.javablog.fr/javaspring-get-and-display-the-version-from-manifest-mf.html
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html
'Thinking > Study' 카테고리의 다른 글
요새 읽고 있는 iOS 개발 관련 책들 정리 (0) | 2014.12.29 |
---|---|
Objective-C 에서 Properties, iVar 설명 (0) | 2014.11.04 |
Makefile 예제 설명 (0) | 2013.03.27 |
linux 에 서 objective-C 컴파일 (0) | 2011.12.16 |
어플리케이션 개발자, 아이폰 매력에 빠지다 (0) | 2011.12.16 |