본문 바로가기

Snippets

[Gradle] Eclipse + Gradle + Spring 웹 프로젝트

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

* 본 문서는 SpringMVC로 웹프로젝트를 실행하는 방법을 기술하였습니다. SpringBoot의 경우는 다르니 참고하시기 바랍니다.


1. Eclipse 프로젝트 만들기


Eclipse 플러그인인 BuildShip Gradle Integration의 경우 basic structure만 제공된다. 따라서 프로젝트 생성 후 eclipse wtp 플러그인 task를 한번 실행해줘야 한다. 다음과 같이 프로젝트명을 입력하고 Finish 버튼을 눌러 프로젝트를 생성합니다.



프로젝트 생성후 기본적으로 java-library로 되어있으므로 Library.java 파일이 생성되어있는데 해당 파일을 모두 삭제합니다.



파일을 모두 삭제하였다면 다음과 같이 src 폴더 하위에 폴더를 생성합니다.

생성할 폴더는 다음과 같습니다.

src/main/resouces
src/main/webapp
src/main/webapp/WEB-INF
src/test/resouces


이렇게 폴더를 생성하면 다음 그림과 같은 구조가 됩니다.



이제 build.gradle 파일에 다음의 플러그인을 등록합니다.

apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'war'


다음의 그림처럼 build.gradle 파일을 refresh하여 설정을 적용합니다.



Refresh 하는 도중 다음의 다음처럼 에러가 발생할 수 있습니다.



이 경우 build.gradle 파일에서 api 'org.apache.commons:commons-math3:3.6.1' 이 부분을 삭제한 후에 다시 Refresh를 진행합니다.


다음은 command 창을 열어서 해당 프로젝트의 루트로 들어가 gradle task를 다음과 같이 실행합니다.

> gradlew build
> gradlew eclipse

이렇게 실행을 하면 다음과 같은 화면으로 나옵니다.


이제 다시 eclipse로 돌아가 해당 프로젝트를 F5번을 눌러 갱신합니다.

이렇게 진행하게 되면 기본적인 web 프로젝트가 생성이 됩니다.


웹프로젝트를 테스트 하기 위해 jsp 파일을 /webapp/에 만들어놓으면 eclipse에서 jsp파일에 에러를 보입니다. javax.servlet이 없어서 그런것인데 eclipse에서 Project Facet에 tomcat을 지정해서 넣어도 되긴 하지만 gradle에서 제어하는 것이 좋습니다.

build.gradle 파일의 dependenies에 다음을 추가합니다.


providedCompile 'javax.servlet:javax.servlet-api:3.1.0'