coc.nvim #3: coc-java 확인(With Gradle 프로젝트)

지난 글(coc.nvim #2: coc-java 설치) 에 이어서 진행하는 글입니다. 앞서 말씀드린 것처럼 coc-java 는 maven과 gradle 프로젝트를 지원합니다. 따라서 설치된 coc-java 가 잘 동작하는지 테스트 해볼 겸 gradle 프로젝트를 하나 생성해서 확인해보겠습니다.


SDKMAN! 설치

gradle 설치에 앞서, 보통은 수동으로 설치했습니다만 이번엔 이왕 새로 설치 시작한 것 gradle 공식홈에서도 권장하는 SDKMAN! 이라는 툴을 사용해 보기로 합니다.
SDKMAN! 은 대부분의 유닉스 기반 시스템에서 여러 SDK 의 다양한 버전들을 병렬로 관리해주는 툴이라고 하고, 이번 글에서는 꼭 필요한 내용만 다루도록 합니다.

$ sudo apt install zip 
$ curl -s "https://get.sdkman.io" | bash
$ source ~/.sdkman/bin/sdkman-init.sh

SDKMAN! version 도 확인 겸 다음 명령으로 잘 설치되었는지 확인합니다.

$ sdk version
SDKMAN 5.8.2+49


Gradle 설치

SDKMAN! 설치도 완료되었고, Gradle 은 가장 최신인 6.5 버전으로 설치 진행하겠습니다.

$ sdk install gradle 6.5
$ sdk list gradle
================================================================================
Available Gradle Versions
================================================================================
> * 6.5 5.3.1 4.0.2 2.2.1
6.5-rc-1 5.3 4.0.1 2.2

5.4 4.1 2.3
================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

SDKMAN! 으로 확인해보면, Gradle 6.5 가 설치되었고 사용 설정까지 된 것을 확인할 수 있습니다.
Gradle 명령도 수행해보면 잘 설치된 것을 알 수 있습니다.

$ gradle -v

------------------------------------------------------------
Gradle 6.5
------------------------------------------------------------


Java 프로젝트 생성

Gradle 프로젝트를 생성할 경로를 만든 후 이동합니다.

$ mkdir myJava; cd myJava 
myJava$ 

테스트 목적이기 때문에, 다음과 같이 대강 java-application 타입의 Gradle 프로젝트를 생성합니다.

myJava$ gradle init --type java-application

Select build script DSL:
1: Groovy
2: Kotlin
Enter selection (default: Groovy) [1..2]

Select test framework:
1: JUnit 4
2: TestNG
3: Spock
4: JUnit Jupiter
Enter selection (default: JUnit 4) [1..4]

Project name (default: myJava):
Source package (default: myJava):

> Task :init
Get more help with your project: https://docs.gradle.org/6.5/userguide/tutorial_java_projects.html

BUILD SUCCESSFUL in 15s
2 actionable tasks: 2 executed

myJava$ 


coc-java 테스트

생성된 클래스 파일을 열어 봅니다.

myJava$ vim ./src/main/java/myJava/App.java 

VIM 내에서 간단히 편집해보면 coc-java 가 훌륭하게 동작하는 것을 알 수 있습니다.

coc-java 동작 화면.gif

coc-java 동작은 확인했고, 별 의미는 없지만 마지막으로 Gradle 프로젝트도 빌드&수행 해보고 마무리 짓겠습니다.

myJava$ gradle run
> Task :run
Hello world.

BUILD SUCCESSFUL in 4s
2 actionable tasks: 2 executed


* Environment

- HW: DS920+ (Synology NAS)
- OS: Ubuntu 20.04 (Docker container)
- vim 8.1


* References

- Gradle
- SDKMAN!
- coc-java github

Leave a Comment