DevEnjoy

One Step Closer

Gradle

grails 기반 my-sql 연동시 gradle plugin 적용

2014년 10월 29일 by YongPwi Leave a Comment

현재 작업중인 grails 프로젝트에 my-sql을 사용하고 있다,,,

grails 기반으로 서버를 띄우고 외부 DB연동까지는 수월하게 작업하였다,,,

그런데 동일한 프로젝트를 Gradle plugin을 사용하여 서버를 띄우니,,,

에러가 작렬,,,

삽질을 어마어마하게 했다,,,

첫번째 문제는 grails 만으로 서버 가동할때에는 domain model 연관관계에,,,

문제가 있어서 서버 동작에는 문제가 없었는데,,,

gradle에서는 그 문제 때문에 고생을 좀 했다,,,

두번째 문제는 gradle로 서버가 올라갈때 발생하는 메모리 문제,,,

하단 첨부 이미지와 같이 VM options로 해결이 될거라 생각했는데,,,
Gradle VM Option

실제 Gradle이 동작할때는 저 옵션이 먹질 않았던 것 같다,,,

Gradle에 대한 사전지식이 없어서 좀더 찾아서 보충해야겠다,,,

그래서 겁나 구글링하여 찾아낸 방법은

build.gradle 설정 추가

1
2
3
4
5
tasks.withType(org.grails.gradle.plugin.tasks.GrailsTask) { Task t ->
    t.jvmOptions {
        jvmArgs "-Xmx512m", "-XX:MaxPermSize=256m"
    }
}

사실 코드는 금방 찾았는데 실제 코드를 붙여넣어보면

Task가 존재하지 않아서 에러 처럼 보여져서 시도하지 않았는데,,,

상위 치럼 메모리 설정을 해주면 Gradle 이 배포할때 저 옵션으로 메모리 설정을 하는듯 싶다,,,

역시 삽질,,,

혹시 필요한 분들이 있을지 몰라 현재 프로젝트의 build.gradle 소스를 남겨둔다,,,

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
buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven { url "http://repo.grails.org/grails/repo"}
    }
    dependencies {
        classpath "org.grails:grails-gradle-plugin:2.1.0"
    }
}

version '0.1'
group 'com.libqna'

apply plugin: 'grails'

repositories {
    mavenCentral()
    grails.central()
    maven { url 'http://repository.jboss.org/maven2/' }
    maven { url 'http://repo.grails.org/grails/repo' }
    maven { url 'http://repo.grails.org/grails/plugins' }
    maven { url 'http://repository.springsource.com/maven/bundles/release' }
    maven { url 'http://repository.springsource.com/maven/bundles/external' }
    maven { url 'http://repository.springsource.com/maven/libraries/release' }
    maven { url 'http://repository.springsource.com/maven/libraries/external' }
}

grails {
    grailsVersion = '2.3.5'
    groovyVersion = '2.1.9'
    springLoadedVersion '1.1.3'
}

tasks.withType(org.grails.gradle.plugin.tasks.GrailsTask) { Task t ->
    t.jvmOptions {
        jvmArgs "-Xmx512m", "-XX:MaxPermSize=256m"
    }
}

dependencies {
    bootstrap 'org.grails.plugins:tomcat:7.0.54'

    compile 'org.grails.plugins:scaffolding:2.0.1'
    compile 'org.grails.plugins:cache:1.1.1'

    runtime 'org.grails.plugins:hibernate:3.6.10.8'
    runtime 'org.grails.plugins:database-migration:1.3.8'
    runtime 'org.grails.plugins:jquery:1.11.0'
    runtime 'org.grails.plugins:resources:1.2.2'
    runtime 'org.grails.plugins:twitter-bootstrap:3.2.0'
    compile 'org.grails.plugins:font-awesome-resources:4.2.0.0'

    runtime 'mysql:mysql-connector-java:5.1.27'
}
Posted in: Database, Groovy, MySQL, Programing Tagged: Gradle, Grails, MySQL

Calendar

6월 2025
일 월 화 수 목 금 토
« 4월    
1234567
891011121314
15161718192021
22232425262728
2930  

Recent Posts

  • ubuntu bastion 설정
  • Spring Boot properties 암호화
  • Git Repository Bitbucket과 Issue Tracker Redmine 연동 설정
  • Spring Security 동일 session 제어
  • Spring @Mock, @Mockbean, @InjectMock

Recent Comments

  • pzotov (Ubuntu 14.04에서 Sonarqube 6.7.1 service 등록)
  • cours de theatre paris (AWS ELB와 Auto Scaling 연동, nginx)
  • bayern munich (IntelliJ EAP Font rendering)
  • camiseta del chelsea (OS X에서 APP 아이콘 변경)
  • cheap football shirts replica (jQuery Ajax에서 json Array 직렬화)

Copyright © [the-year] [site-link].

Powered by [wp-link] and [theme-link].