Gadle

Gradle로 eclipse Spring 개발환경 만들기

전광영 2018. 12. 21. 16:31

필요

- grdle 4.10 버전

- eclipse 


1. gradle 기본 프로젝트 생성


  - 프로젝트 폴더 생성 -> 생성된 프로젝트로 이동 (현재 소스코드에서 my-app으로 만듬)


  - gradle 기본 프로젝트 생성


    gradle init 



 src 폴더 생성 후 위에 그림과 같은 구조로 생성

 java -> 자바 소스

 resource -> 자원 소스(대부분 xml파일이나 프로퍼티, 스프링 설정 파일등) -> 빌드시 classes 폴더 밑으로 이동

 webapp -> 웹관련 파일


2. gradle 빌드 파일 설정(build.gradle)

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

// JAVA Version
sourceCompatibility = '1.8'

//어플리케이션 버젼
version = '1.0'

def version = [
 spring: '4.3.2.RELEASE'
 ,servletApi: '2.5'
]

//maven 저장소
repositories {
 mavenCentral()
}

//의존성 설정
dependencies {
 providedCompile "javax.servlet:servlet-api:${version.servletApi}"
 compile "org.springframework:spring-webmvc:${version.spring}"
}

// JAVA 컴파일시 인코딩 설정
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'



3. 프로젝트 파일 추가 


  - web.xml (웹 설정) [프로젝트 루트 폴더 -> src -> main -> webapp -> WEB-INF -> web.xml] 


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>my-app</display-name>
  

 <!-- Spring 사용을 위한 servlet -->

 <servlet>
   <servlet-name>dispatcher-servlet</servlet-name>
   <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
   </servlet-class>
   <init-param>

    <param-name>contextConfigLocation</param-name>

    <!-- spring 설정 파일 위치 지정  classpath:{reousrce 폴더 기준 위치}-->
    <param-value>classpath:/spring/application-context.xml</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
   <servlet-name>dispatcher-servlet</servlet-name>
   <url-pattern>*.do</url-pattern>
  </servlet-mapping>


</web-app>


  - application-context.xml (스프링 설정) [프로젝트 루트 폴더 -> src -> main -> reousrces -> spring -> application-context.xml]


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  http://www.springframework.org/schema/mvc    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context-3.2.xsd">
 
  <context:component-scan base-package="info.rinuel" /> <!-- 어노테이션 기반 빈 생성. *여기서 info.rinuel은 나의 패키지명 -->
  <mvc:annotation-driven /> <!-- MVC 어노테이션 사용을 위한 설정 -->
  

  <!-- view resolver 생성 -->
  <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
   <property name="prefix" value="/WEB-INF/view/"/>
   <property name="suffix" value=".jsp"/>
  </bean>
 
</beans>


  - SampleController.java (테스트용 컨트롤러) [프로젝트 루트 폴더 -> src -> main -> java -> info -> rinuel -> SampleController.java]


package info.rinuel.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class SampleController {

 @RequestMapping("home")
 public String loadHomePage(Model m) {
  m.addAttribute("name", "my name");
  
  return "home";
 }
}


  - home.jsp (테스트용 JSP)[프로젝트 루트 폴더 -> src -> main -> webapp -> WEB-INF -> view -> home.jsp


<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Sample Application</title>
</head>
<body>
<h1>Hello, ${name}!</h1>
</body>
</html>


4. 이클릭스 플러그인을 이용하여 이클릭스 WTP 프로젝트로 변환 



gradle eclipse



.project 와 .classpath가 생성된다면 성공



5. eclipse 에서 import


project explorer 에서 우클릭후 import -> import 클릭







- 생성된 프로젝트 우클릭 -> Configure -> Add Gradle Nature (gradle 프로젝트로 명시)


- 빌드 (ctrl + b)


- 프로젝트 우클릭 -> Run As -> Run On Server


- 브라우저에서 localhost:8080/my-app/home.do 입력후 확인





  


* 최종 디렉토리 구조


 

  - .classpath, .project, .settings, bin/ 은 자동생성됨