STS 다운로드 및 환경 설정하기(STS 3, STS 4)
스프링/스프링 부트 웹 프로젝트 준비하기 (2) IDE
STS(Spring Tool Suite)란 이클립스(Eclipse)에 스프링 프레임워크(Spring framework) 사용을 도와주는 플러그인이 장착된 통합 개발 환경(Integrated Development Environment, IDE)입니다. STS란 한 마디로 스프링 프레임워크 플러그인이 미리 설치되어 있는 이클립스입니다.기본 이클립스에서도 마켓 플레이스(Marketplace)를 통해 스프링 프레임워크 플러그인을 추가로 설치할 수 있습니다. 하지만, 이 방법을 따르면 사용하고 있는 이클립스 버전에 따라 오류가 발생할 수 있습니다. 설치 오류 없이 스프링 프레임워크를 사용하고 싶다면, 기본 이클립스 대신 STS를 다운로드하는 것이 좋습니다.
STS에는 STS 3와 STS 4가 있습니다. 스프링 MVC 프로젝트(Spring MVC Project)나 메이븐(Maven) 등 기본 설정이 미리 세팅된 스프링 프로젝트를 사용하려면 STS 3를 다운로드해야 합니다. STS 4는 스프링 부트(Spring Boot)를 사용하는 환경에 적합합니다. 이번 시간에는 STS 3 및 STS 4를 다운로드하고 개발 환경을 설정하는 법을 알아보겠습니다. 인코딩(encoding) 방식 등 스프링 및 스프링 부트 웹 프로젝트를 위한 자세한 환경 설정 방법은 이클립스(Eclipse) 다운로드 및 환경설정하기를 참조해 주세요.
STS 3 다운로드하기
STS 3는 스프링 공식 홈페이지의 'Spring Tool Suite 3 wiki' 링크에서 다운로드할 수 있습니다. 링크는 위 웹페이지에서 스크롤을 아래로 끝까지 내리면 있습니다.
링크를 클릭하면 STS 3를 다운로드할 수 있는 github가 나옵니다. 'Latest STS3 Downloads'에서 사용하고 계신 운영체제에 적합한 STS를 다운로드하면 됩니다.
다운로드를 완료하면 다운로드한 폴더의 이름을 짧게 바꾸어 줍니다. 폴더명이 너무 길면 압축 해제 시 오류가 발생할 수 있습니다. 폴더가 소속된 모든 경로는 영문으로 만들어 줍니다. 경로에 한글이 들어가면 오류가 발생할 수 있습니다. 여기서는 폴더 이름을 sts-bundle
로 변경하겠습니다. 여기서 sts-[버전.RELEASE]
라는 이름의 폴더에 들어가면 다음과 같은 파일 목록을 확인할 수 있습니다.
여기서 STS.exe
스프링 프레임워크 플러그인이 장착된 이클립스 실행 파일이고 STS.ini
파일이 STS의 환경 설정 파일입니다. 그럼, STS를 사용하기 위해 환경 설정을 하겠습니다.
STS 4 다운로드하기
이번에는 STS 4를 다운로드해 보겠습니다. STS 4는 스프링 공식 홈페이지에서 다운로드할 수 있습니다. 홈페이지에 접속한 뒤 사용하고 있는 운영체제에 적합한 'Spring Tools 4 for Eclipse'를 다운로드합니다.
다운로드한 파일을 더블 클릭하면 STS 4의 설치가 시작됩니다. 만일 설치가 되지 않는다면 명령 프롬프트(cmd)에서 다운로드한 파일이 있는 경로로 이동한 뒤 java -jar
를 입력해도 됩니다. 예를 들어, 다운로드한 파일 이름이 'sts4.jar' 라면 다음과 같이 입력합니다.
bashjava -jar sts4.jar
공통 환경 설정하기
STS를 사용하기 위해서는 크게 4가지 기본 설정이 필요합니다.
- STS가 사용할 자바 가상 머신(Java Virtual Machien, JVM) 지정하기
- 워크스페이스(workspace) 경로 지정하기
- 인코딩(encoding) 변경하기
- 아파치 톰캣(Apache Tomcat) 서버 연동하기
STS가 사용할 JVM 지정하기
먼저, STS.ini
파일에서 STS가 사용할 JVM을 지정합니다. STS에게 어떤 버전의 JVM을 사용할 것인지를 알려주는 것입니다. STS.ini
파일에 JVM을 지정하지 않으면 시스템의 기본 JVM 설정을 따르게 됩니다. 이 경우 STS가 자동으로 선택한 JDK 버전과 프로젝트에서 필요로 하는 JDK 버전이 일치하지 않을 수 있습니다. 따라서, STS.ini
파일에 JVM을 명시적으로 지정하는 것이 좋습니다.
JVM을 지정할 때는 해당 JVM의 javaw.exe
경로를 입력해 줍니다. javaw.exe
는 JVM을 구동하는 자바 런처(java launcher) 프로그램입니다. javaw.exe
는 자바 런처인 java.exe
와 동일하지만, java.exe
와 다르게 콘솔(console) 없이 자바 애플리케이션을 구동할 수 있습니다.
그러면 STS에서 사용할 javaw.exe
경로를 설정해 보겠습니다. 먼저 STS.ini
파일을 메모장으로 열어줍니다. 그리고 -vm
옵션을 추가한 뒤, 해당 옵션 다음 줄에 설치한 javaw.exe
의 경로를 입력해 줍니다. javaw.exe
는 JDK의 bin
폴더 안에 있습니다. 예시 코드는 다음과 같습니다.
만일 어떤 JDK 선택하는 것이 좋은지, 그리고 JDK를 다운로드하는 자세한 방법은 JDK 다운로드 및 환경변수 설정 방법(JDK 1.8, JDK 11)를 참조해 주세요. 운영체제별 자세한 ini 파일 설정 방법은 공식 홈페이지의 STS.ini 파일 설정 방법에서 확인하실 수 있습니다.
워크스페이스 지정 및 변경하기
STS를 실행하면 코드를 작성하고 저장할 워크스페이스를 지정하는 옵션 창이 뜹니다. 여기서 원하시는 워크스페이스 경로를 입력해 주세요.
지정한 워크스페이스를 다른 디렉토리로 바꾸고 싶다면 다음 경로로 이동하시면 됩니다.
- [File] - [Switch Workspace] - [Other]
인코딩 변경하기
STS에서 한글로 된 스프링 웹 프로젝트를 진행하려면 워크스페이스 및 웹 파일의 기본 인코딩 방식을 EUC-KR
에서 UTF-8
로 변경해 주어야 합니다. 워크스페이스와 웹 파일의 인코딩 방식은 각각 다음 경로에서 변경할 수 있습니다.
- 워크스페이스 인코딩 설정 경로: [Window] - [Prefernces] - [General] - [Workspace] - [Text file encoding]
- HTML, CSS, JSP 인코딩 설정 경로: [Window] - [Prefernces] - [Web] - [HTML Files/CSS Files/JSP Files] - [Creating files] - [Encoding]
인코딩 방식을 변경하는 자세한 방법은 이클립스(Eclipse) 다운로드 및 환경설정하기의 '환경설정' 부분을 참조해 주세요.
STS 3 환경 설정하기
스프링을 사용하는 STS3 환경에서는 아파치 톰캣 서버를 연동할 수 있습니다.
아파치 톰캣 서버 연동하기
아파치 톰캣은 자바 서블릿(Java Servlet)이나 자바 서버 페이지(Java Server Page, JSP)로 동적 웹 사이트(dynamic websites)를 구축할 때 필요한 웹 애플리케이션 서버(Web Application Server, WAS)입니다. 아파치 톰캣을 다운로드하고 환경 설정하는 법은 아파치 톰캣(Apache Tomcat) 다운로드 및 환경설정하기을 참조해 주세요.
STS 4 환경 설정하기
JavaEE 설치하기
STS 4에서 JSP 페이지나 자바스크립트(JavaScript) 파일을 생성하거나 Java EE 기능을 사용하려면 별도로 설치해야 합니다. STS 4는 기본적으로 Eclipse Java EE Developer Tools를 포함하지 않습니다. STS 4에 Java EE 플러그인을 추가하려면 마켓플레이스(Marketplace)에서 'Eclipse Enterprise Java and Web Developer Tools'를 설치하면 됩니다.
JavaScript 파일 인식하게 하기
STS 4에서 JavaScript 파일을 인식하게 하려면 설정이 필요합니다. 먼저 아래 경로로 이동합니다.
- [Window] - [Preferences] - [General] - [Editors] - [File Associations]
그리고 'File types'에 *.js
를 추가하고, 'Associated editors'에서 'Generic Text Editor'를 'Default'로 지정합니다.
롬복 플러그인 추가하기
롬복(Lombok)은 개발자가 기계적으로 작성해야 하는 코드를 자동으로 생성해 주는 자바의 라이브러리입니다. 롬복 라이브러리를 사용하면 getter, setter, toString 등 반복되는 부분이 많던 코드를 어노테이션으로 한 번에 작성할 수 있습니다.