manjaro linux 的 neovim 配置 java 编写环境

前言

Windows 中的 neovim 配置 java 环境是没救了。前有 astronvim,现在的 lazyvim 也不支持。astronvim 只是不支持 dap,而且它还吱了一声。这个 lazyvim 都不说是什么情况,试过之后,果然不支持。只好转向我的 manjaro linux 了。好在,不管是什么插件,对于 linux 的支持都是在第一序列的。

当然啦,也还是有一些小问题,只是,相比之下容易解决,也不多。这里的话,摸索一下就 ok 了。

开始之前,先说一下我为什么要一定要执着于去在 neovim 中去配置 java 编写环境,去使用现成的 idea 不好吗?即使 jetbrains 对 linux 的支持不够,其上手的友好性还是比 neovim 要高一大截的。只是,让人想要去不由自主地去写程式,只有 neovim 可以做到,结合 neovide,简直就像小时候的遥控飞机对于孩童的我们的吸引。或许,又像一个天然去雕饰的女孩,让你无时无刻不想去哪怕是轻轻地摸一摸她的脸庞。

正文

言归正传。

首先,我这个方案是基于 lazyvim 的。这里,我们第一步是打开 lazyvim 对 java 的支持,这个就在 lazyvim 的 extra 里面,根据官方的文档,这个是比较容易设置的。

然后,就是使用 mason 安装 jdtls 这个 lsp,

:MasonInstall jdtls

然后,我们还需要在系统中安装一下 jdtls,防止 mason 安装的无法使用,

yay -S jdtls

然后,安装一下 maven,

yay -S maven

之后,一切正常的话,那么,就可以正常在一个 maven 项目中使用 java 的 lsp 了。

这里我的 maven 项目是使用 VSCode 中的 maven 插件生成的一个 quickstart 模板。有时间,后面再自己制作一个 maven 的模板。(现在 maven 自带的 quickstart 模板实在是太老了)

下面是实际使用过程中的一些截图,

下面这个是代码补全的效果,

下面这个是写的一个 test,

遇到的问题

pom.xml 文件报下面这个警告的问题,

Project configuration is not up-to-date with pom.xml, requires an update.

这个问题,如果是在 VSCode 或者 eclipse(对,就是 eclipse) 中,有对应的 gui 让我们去操作,update project 一下就好了。在 neovim 中呢,需要执行一下 JdtWipeDataAndRestart 命令,最好是先把 .project 文件给删除之后再执行。

似乎,也是可以执行 JdtUpdateConfig 这个命令的,但是我现在还没有试过。

其他

还有一个问题,其实也是相当重要的一个问题。在 neovim 中我们没法像 eclipse 和 idea 中那样去点击按钮执行一份 java 代码或者一个项目了,怎么办呢?还有,Test 的代码怎么运行呢?

这个其实就可以使用 maven 来解决了,主要是利用下面两个插件,

<!-- https://mvnrepository.com/artifact/org.codehaus.mojo/exec-maven-plugin -->
<dependency>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>3.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-surefire-plugin -->
<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>3.2.2</version>
</dependency>

更多内容,欲知如何,请看我后面的博客。


manjaro linux 的 neovim 配置 java 编写环境
http://fanyfull.github.io/2023/12/03/manjaro-linux-的-neovim-配置-java-编写环境/
作者
Fany Full
发布于
2023年12月3日
许可协议