상세 컨텐츠

본문 제목

1탄. gradle 로 이클립스 Spring MVC 프로젝트 생성 (1.11버전 기준)

Spring

by husks 2014. 3. 7. 14:54

본문

반응형
* 댓글을 달아주신 분이 Gradle 2.0 이후 버전부터는 설정이 변경되어 정상적으로 프로젝트가 생성 되지 않는다고 알려주셨습니다.
해당 포스팅은 1.11 버전을 기준으로 작성 되었습니다.
2.0 이후 버전은 추가로 작성 하려고 예정중입니다.
감사합니다.

gradle 설치 하셔야 가능 합니다.

설치는 http://huskdoll.tistory.com/3 를 참고하여 주세요.


1. 프로젝트 폴더 생성

프로젝트 명으로 폴더를 하나 생성합니다. (저 같은 경우는 이클립스 workspce 밑에 SpringGradle 로 생성 하였습니다.)


2. CMD 창에서 생성한 폴더로 이동하여 gradle 명령어 실행

cmd 창을 열고 위에서 생성한 폴더로 이동합니다.

그리고 아래와 같이 명령어를 입력 하세요.

gradle init --type java-library


3. build.gradle 내용 수정


2번을 실행하면 해당 프로젝트 폴더에 build.gradle 이 생성 되는데 해당 파일 열어서 아래 내용 작성 후 저장 합니다.

* build.gradle 파일 작성 시 해당 사이트 참고 하였습니다. http://arawn.github.io/blog/2012/08/28/gradle-springmvc-project/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
 * This build file was auto generated by running the Gradle 'init' task
 * by 'psyken' at '14. 3. 5 오후 3:46' with Gradle 1.11
 *
 * This generated file contains a sample Java project to get you started.
 * For more details take a look at the Java Quickstart chapter in the Gradle
 * user guide available at http://gradle.org/docs/1.11/userguide/tutorial_java_projects.html
 */
 
// Apply the java plugin to add support for Java
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'eclipse'
apply plugin: 'eclipse-wtp'
 
// JAVA Version 1.6
sourceCompatibility = 1.6
// 개발한 애플리케이션 버전
version = '1.0'
 
// 메이븐 Central 저장소 사용
repositories {
    mavenCentral()
}
 
// dependency 버전 정보
def version = [
spring: '3.2.2.RELEASE'
, junit: '4.11'
, servletApi: '3.0.1'
, jstl: '1.2'
, slf4j: '1.7.6'
, mockito: '1.9.0'
, cglib: '2.2.2'
, logback: '1.0.6'
]
 
// In this section you declare the dependencies for your production and test code
// 의존성 설정
dependencies {
    compile "org.springframework:spring-webmvc:${version.spring}",
          "cglib:cglib-nodep:${version.cglib}",
          "ch.qos.logback:logback-classic:${version.logback}",
                    "org.slf4j:slf4j-api:${version.slf4j}"
 
  providedCompile "javax.servlet:javax.servlet-api:${version.servletApi}"
 
  testCompile "org.springframework:spring-test:${version.spring}",
              "junit:junit:${version.junit}",
              "org.mockito:mockito-core:${version.mockito}"
                                        
  runtime "javax.servlet:jstl:${version.jstl}"
}
 
// logback(slf4j)를 사용하기 때문에 모든 의존성에서 commons-logging는 제외
[configurations.runtime, configurations.default]*.exclude(module: 'commons-logging')
 
// JAVA 컴파일시 인코딩 설정
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
 
// TEST 설정
test {
    jvmArgs = ['-ea''-Xmx256m']
    logging.captureStandardOutput(LogLevel.INFO)
    //testReport = false
    reports.html.enabled = false
}
 
// 프로젝트 초기화
// 1. java source directory 생성 : src/main/java, src/test/java
// 2. resource directory 생성    : src/main/resource, src/test/resource
// 3. web source directory 생성  : src/main/webapp, src/main/webapp/WEB-INF
task initProject(description: 'initialize project'<< {
    createDir = {
        println "create source directory: $it"
        // it.mkdirs() //유닉스용
        mkdir(it) //윈도우용
    }
    sourceSets*.java.srcDirs*.each createDir
    sourceSets*.resources.srcDirs*.each createDir
    createDir webAppDir
    createDir new File(webAppDir, '/WEB-INF')
}



4. gradle로 eclipse 프로젝트 작성

4-1. gradle check (build.gradle 이 정상적으로 작성 되었는지 확인합니다.)


4-2. gradle initProject (프로젝트 디렉토리 생성)


4-3. gradle eclipse (이클립스 프로젝트로 생성)


5. 이클립스(또는 STS)에서 import project

Package Explorer >> import >> General >> Existing Projects into Workspace >> Select root directory 에서 프로젝트 폴더 선택

5-1. 우클릭 Import


5-2. General >> Existing Projects into Workspace


5-3. Select root directory (아까 생성한 프로젝트 폴더를 선택한다.)


6. Gradle 프로젝트로 convert

프로젝트 우 클릭 후

Configure >> Convert to Gradle Project

프로젝트 위에 G라고 표시가 되면 Gradle 프로젝트 생성 완료

* 처음 생성하면 왼쪽과 같은 프로젝트 구성이 됩니다.
우측과 같은 폴더로 하기 위해 패키지도 만들어 주고 폴더 및 파일도 오른쪽과 같이 만들어 줬습니다. (자신의 스타일 대로 생성 하시면 됩니다.)


반응형

관련글 더보기

댓글 영역