현재 작업중인 grails 프로젝트에 my-sql을 사용하고 있다,,,
grails 기반으로 서버를 띄우고 외부 DB연동까지는 수월하게 작업하였다,,,
그런데 동일한 프로젝트를 Gradle plugin을 사용하여 서버를 띄우니,,,
에러가 작렬,,,
삽질을 어마어마하게 했다,,,
첫번째 문제는 grails 만으로 서버 가동할때에는 domain model 연관관계에,,,
문제가 있어서 서버 동작에는 문제가 없었는데,,,
gradle에서는 그 문제 때문에 고생을 좀 했다,,,
두번째 문제는 gradle로 서버가 올라갈때 발생하는 메모리 문제,,,
하단 첨부 이미지와 같이 VM options로 해결이 될거라 생각했는데,,,
실제 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' } |