Enhance project_root detecting. And auto cd to project_root, if not, when we invoke nvim from $HOME, i.e. cd $HOME && nvim dev/myproject/src/main/..../Test.java, jdtls will start all gradle instances in .gradle/wrapper/, it could be tens of java instances, that is definitely unexpected.
Move g:FILE_SEP to utils.vim as g:utils#FILE_SEP then we can load jc.nvim only with java files. I have tried to load jc with autocmd FileType java, jc.vim complains that g:FILE_SEP was not defined as it is initialized in project_root.vim, define it as util#FILE_SEP could solve it.
Make jdtls config.settings configurable. I need to add more JavaSE versions to jdtls. I can do it now in init.vim: