그레들 지원 플러그인을 설치했었다.

이클립스에는 그레들 에디터gradle editor가 설치되어 있지 않기 때문에, 아래 그림에서 보는 것처럼 '*.gradle'  파일을 열면 아래 텍스트로 열려서 어떤 형태로 구성되어 있는지 파악하기가 어렵다. 천성이 게으르다. 

이걸 어떻게 하면 색상을 적용해서 손쉽게 볼 수 있을까? 자동완성을 지원하게 할 수 있을까? 

하는 궁리를 하다가 문득 gradle editor를 본 기억이 났다.


아래 그림에서 보는 것처럼 Eclipse에서 'File Associations''*.gradle'이 적용되어 있지 않기에, build.gradle 등의 .gradle 확장자를 가진 파일을 열어도 일반 텍스트 에디터로 연결된다. 

이클립스에서 [Help -> Eclipse Marketplace...]를 선택한다. 'Find' 항목에 'gradle'이라고 입력하면, 아래 그림에서 보는 것처럼 'Minimalist Gradle Editor 0.10.0' 을 찾아볼 수 있을 것이다. [Install] 버튼을 누르고 설치를 진행한다.

설치 후에 다시 이클립스의 'File Associations'를 살펴보면 '*.gradle' 확장자와 그에 해당하는 'Associate Editors:' 항목에 추가된 것을 볼 수 있다.

다시 build.gradle을 열어보면 editor에 의해서 문법강조가 적용되어 있는 것을 볼 수 있다. 그리고 자동완성 기능도 지원된다. +_+)b 이클립스에서도 편하게 그레들 파일을 수정하자. 굿럭.


제 14회 한국자바개발자 컨퍼런스(http://www.jcoconference.co.kr/)에서 발표예제 프로젝트(https://github.com/ihoneymon/rocking-the-rest-api)를 작성하고 있다. 이 프로젝트는 빌드툴로 메이븐Maven대신 그레들Gradle을 사용하고, 프로젝트에 대한 xml 설정 대신에 JavaConfig를 적용해보고 있다(이와 관련해서 상당한 삽질이 예상된다, 나는 아직 그레들과 JavaConfig를 실제로 운영해본 적이 없으니까).

Intellij12에서는 web.xml을 기준으로 웹애플리케이션 여부를 판단한다. 그래서 JavaConfig로 프로젝트 설정을 해놓으면 자동으로 인식하지 못하는 문제가 있다. 어쨌든, 최소한의 web.xml 설정파일이 있어야 웹 애플리케이션으로 판단하고 설정을 진행한다.웹 애플리케이션으로 만들려면 Facet에서 'Web'에 대한 설정을 수동으로 해주어야 한다. 귀찮다.

최근에 나온 STS(Spring Tool Suite)가 상당히 깔끔하게 잘 나왔고, 혹시나 하는 마음에 그레들 지원을 제대로 해주지 않을까하는 마음을 가지고 STS를 실행한다. 아직 http://spring.io/tools/sts 에서 내려받은 STS에는 그레들이 기본설치 되어 있지 않기 때문에 'Gradle Support(혹은 Gradle Intergration plugin)'을 설치해주어야 한다. 화면에서 보는 것처럼 Dashboard에서 [extension]탭을 선택하고 'Find'에서 'gradle'만 입력하면 바로 찾아서 설치 가능하다. 

혹은 EclipseEE를 사용하는 사람은 밑에 그림에서 보는 것처럼 Eclipse Marketplace를 실행([Help -> Eclipse Marketplace...] 선택)하여 'gradle 혹은 gradle support'라고 검색하여 나온 'Gradle Integration for Eclipse'를 선택하고 [Install] 버튼을 눌러 설치를 진행한다.





플러그인의 설치가 완료되고 STS를 재시작하고 나서, [File -> Import]를 선택해보면 'Select an import source' 항목에 'Gradle Project'가 추가되어 있는 것을 확인할 수 있다. 

이렇게 간단하게 'Gradle support plugin'의 설치를 마쳤다.

얼마 전까지 SpringSource.org 에서 제공하는 STS 를 이용해서 개발해왔다.


그러다가 아는 분이 저렴하게 구매하신 인텔리제이intelliJ 라이센스를 넘겨받아 사용하기 시작하고 있다. 처음에는 인텔리제이의 강력한 리팩토링 기능이 마음에 들어서 STS에서 작성한 코드들에 대해서 리팩토링을 할 때에만 주로 사용해왔었는데, STS(현재 우분투 13.04에서 openjdk-7-sdk 를 사용하고, STS 3.2.0 에서 3.3.0으로 업그레이드하여 사용)에서 Interface 에 정의되어 있는 메소드를 자동완성시켜주지 않는 버그가 발생하면서 인텔리제이로 마음이 확 기울어져버렸다.


인텔리제이를 사용하면서 가장 아쉬웠던 것이 하나 있었는데, 이클립스에서 별다른 설정없이 사용했던 'Auto publicsing'이었다. 웹 프로젝트를 열어놓은 상태로 로컬 웹서버에 배포하여 테스트하면서 개발할 때, 클래스 파일이나 JSP 파일 등을 수정했을 때, 자동으로 컴파일되고 서버에 배포되는 기능이 인텔리제이에서 제공하지 않는다고 아쉬워했었다(다 방법이 있었다!).

위에서 보는 것처럼, 모듈의 Run/Debug Configurations 에서  'On frame deactivation' 항목을 'Update classess and resources'를 설정해 놓으면, 애플리케이션이 잠시 대기하고 있는 동안에 변경사항을 확인하여 변경된 클래스와 리소스를 갱신시켜준다. 

그리고 실행할 때는 디버그Debug 모드로 실행시킨다.

혹은


왼쪽 하단에 있는 서버 항목 중에서 'Update Resources On Frame Deaction'을 클릭해서 활성화시켜도 된다. 이렇게 설정해두면, 애플리케이션이 대기상태에 들어가면 주기적으로 변동사항들을 확인하는 작업을 하면서 자동 배포가 된다.

아는 분에게 구매한 IntelliJ로 갈아탈 때가 된 것인가?

ㅡ_-);; 대안이 있는 상태에서, 어떤 문제에 부딪쳤을 때 그 문제를 해결하려고 애쓸 필요는 없겠지.


무엇보다 귀찮...


 

 문제원인  

 

WORKSPACE_LOC/spring-mvc-study/src/test/java 폴더가 없어서 나타나는 문제

종종 Java Project를 import 해서 properties 를 확인하다가 보면 상단에

'Build path entry is missing:'

라는 메시지가 보이는 경우가 있다.



 

 해결방법  

 

WORKSPACE_LOC/spring-mvc-study/src/test/java  폴더를 생성하면 된다.

프로젝트를 다시읽고Refresh 확인해보면 경고문구가 사라지는 것이 확인된다.


+ Recent posts