Category Archives: JAVA

Spring Boot CLI 맥 환경에 설치하기

Spring Boot

스프링부트를 이용하면 스프링 기반인 프로덕션 수준의 어플리케이션과 서비스를 최소한의 복잡함으로 만들 수 있습니다. 스프링 플랫폼의 컨셉을 그대로 가지고 있으며 새로운 또는 기존의 유저들이 쉽게 접할 수 있습니다.

스프링부트를 이용하여 java -jar 를 사용하는 stand-alone 자바 어플리케이션을 구동할 수 있으며 기존의 전통적인 방식의 WAR 디플로이 방식또한 사용할 수 있습니다. 스프링 스크립트를 작동하기 위한 커맨드라인 툴도 제공합니다.

스프링부트의 주 목적은 다음과 같습니다.

  • 모든 스프링 개발을 위한 근본적으로 더 빠르고 폭넓은 시작 경험을 제공
  • 기존의 스프링의 특징을 고수하지만 요구사항의 변동에 빠르게 대응할 수 있도록 함
  • 큰 규모의 프로젝트에서 사용되는 비-기능적인 범위(임베디드 서버, 보안, 통계, 상태체크, 외부화된 설정)를 제공
  • 코드 생성과 XML 설정이 전혀 필요 없음

Spring Boot CLI

스프링부트 CLI는 스프링을 이용한 프로토타입을 빠르게 만들 수 있도록 해주는 커맨드라인 툴 입니다. 이 툴은 자바 문법과 유사한 Groovy 스크립트를 실행시킬 수 있습니다. 스프링부트를 사용함에 있어서 CLI는 필수사항은 아닙니다.

커맨드라인 툴을 이용하기 위해서는 1.6 버전 이상의 Java SDK가 필요합니다. (현재 openjdk 1.7.0_25에서 약간의 이슈가 있기에 그 이전버전이나 1.6을 권장함) 다음의 명령을 사용하여 현재 설치되어있는 Java의 버전을 확인하도록 합시다.

$ java -version

이 글에서는 Homebrew를 사용하는 OSX 환경에서의 설치를 가정하고 내용을 진행합니다. 당연히 Homebrew가 설치된 맥이 있어야 합니다. 다음의 명령을 사용하여 설치를 진행합니다.

$ brew update
$ brew tap pivotal/tap
$ brew install springboot

Homebrew는 spring을 /usr/local/bin 이하에 설치하게 됩니다. 테스트를 위해 정말 간단한 웹 어플리케이션을 작성해 보겠습니다. 파일이름은 app.groovy로 합니다.

@Controller
class ThisWillActuallyRun {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!"
    }

}

이제 다음과 같은 명령어로 실행을 합니다.

$ spring run app.groovy

이제 사용하시는 브라우저를 통해 http://localhost:8080으로 접속해 보시면 다음과 같은 내용을 확인할 수 있습니다.

Hello World!

참고 : https://github.com/spring-projects/spring-boot

keytool 문자 깨짐 현상 해결 방법

Android 빌드시에 사용되는 키스토어를 생성하려다 보면 문자열이 깨지는 현상이 발생할 경우가 있습니다. OS가 한글이거나 영문이거나 동일하게 발생하며 저의 경우에서는 맥에서 필수적으로 발생하는 문제였던것 같습니다.

실행시에 다음과 같이 문자열이 깨져보이는 문제가 발생합니다.

$ keytool -genkey -alias eye -keyalg RSA -validity 10000 -keystore eye.keystore
keystore ??ȣ?? ?Է??Ͻʽÿ?:

다음과 같이 alias로 keytool실행시에 언어설정을 추가로 해주도록 합시다.

$ alias keytool='java -Dfile.encoding=utf8 sun.security.tools.KeyTool'
$ keytool -genkey -alias eye -keyalg RSA -validity 10000 -keystore eye.keystore
keystore 암호를 입력하십시오:

문제 없이 잘 되는것을 확인할 수 있습니다.