기본 콘텐츠로 건너뛰기

2017의 게시물 표시

Spring Shell 프로젝트 만들기

사이트에서 기술지원 업무를 지원하다보면 여러가지 예외적인 변수를 가지게 된다 여러 케이스의 운영기술이 어플리케이션에 반영이 안되어있는 경우가 많아 개인의 기술 스킬에 의존해 업무를 처리하게되는데 이는 엄청난 비용을 야기한다 하여, 누구나 몇가지 커맨드만 숙지 한다면 다시말해 별단른 학습비용없이 간단하게 사용하여 여러가지 당황스러운 상황을 모면(?)할 수 있는 기술지원 툴을 생각하게 되었는데 찾아보던중 spring shell 이라는 프로젝트가 눈에 띄어 이를 바탕으로 만들어 보기로 하였다 우선 간단한 예제로 기본 프로젝트를 구성해 보자 1. gradle  maven 프로젝트를 생성한다. 2. spring-shell-plugin xml 파일을 생성한다. classpath 의 META-INF 디렉토리에 위치해준다 3. 테스트 코드를 작성 몇가지 어노테이션을 설명하면 @CliCommand (value = "echo" , help = "Echo a message" ) shell 명령어를 정의한다. value 변수는 명령어를 정의하며, help 변수는 help 명령어를 지시할때 value 에서 정의한 명령어의 텍스트 메시지를 출력 할 수 있다 즉 도움말이 되겠다 @CliOption (key = { "" , "msg" }, mandatory = true , help= "The message to echo" ) 명령어의 옵션을 정의한다 상기한대로 echo --msg test 형태로 지시한다면 test 텍스트를 msg 옵션의 인수로 전달하게 된다 mvn package 실행후 jar를 실행하여 작성한 명령어가 잘 실행되는지 확인해본다 이를 기반으로 여러가지 기능을 응용하여 구현해 나가면 되겠다 원격접속도 구현 가능하다니 활용도가 정말 많구나