artur-shaik / vim-javacomplete2

DEPRECATED in favor of jc.nvim
Vim License
973 stars 83 forks source link

Advise of “Unable to auto-import maven dependencies #445

Closed hj-hejie closed 3 years ago

hj-hejie commented 3 years ago

Advise of "Unable to auto-import maven dependencies"

artur-shaik commented 3 years ago

So, can you reproduce issue and does this PR fix it?

hj-hejie commented 3 years ago

So, can you reproduce issue and does this PR fix it?

yes, i reproduce the issue, image

my env is neovim(v0.4.4) with spacevim(1.6.0-dev)

i remove the "offset <= 10" condition in autoload/javacomplete/classpath/maven.vim:58 (Note:I don't know why the author add this condition here, just like some performance limitation), it just parse the result of the mvn cmd in line 30, with this condition, it parse 10 line of the cmd result, and lost another jars dependencies.

then i change the ClasspathGenerationOrder of maven and eclipse in plugin/javacomplete.vim:33, because i saw that, in autoload/javacomplete/classpath/classpath.vim:109, if eclipse classpath is before maven classpath, eclipse classpath is not emplty , it will return, and will not load maven classpath, so i let the maven classpath before eclipse classpath, but i don't think it's a good idea , it just fix my problem.

after all, i modify autoload/javacomplete/classpath/classpath.vim:7, call s:BuildClassPath(1) to force it generate ~/.cache/javacomplete2/classpath/*_pom_xml the content of this file is what you saw in :echo g:JavaComplete_LibsPath, if you don't want to modify autoload/javacomplete/classpath/classpath.vim:7, you can remove this file, to force it generate a new file, and i didn't commit this to the PR.

artur-shaik commented 3 years ago

if eclipse classpath is before maven classpath, eclipse classpath is not emplty , it will return, and will not load maven classpath,

Yeah, that was original idea, we using eclipse classpath aggregation to make things faster, I guess. May be it is better to remove eclipse file if you do not want to use it?

hj-hejie commented 3 years ago

if eclipse classpath is before maven classpath, eclipse classpath is not emplty , it will return, and will not load maven classpath,

Yeah, that was original idea, we using eclipse classpath aggregation to make things faster, I guess. May be it is better to remove eclipse file if you do not want to use it?

I agree with you

artur-shaik commented 3 years ago

Thanks