neovim使用nvim-jdtls搭建Java IDE
nvim-jdtls简介
Neovim for eclipse.jdt.ls 中内置 LSP 支持的扩展。
Neovim (>= 0.6.0) 中对eclipse.jdt.ls的内置语言服务器协议支持的扩展。
该项目遵循KISS 原则,面向对 Neovim、Java 及其构建工具 Maven 或 Gradle 有一定经验的用户,他们更喜欢将配置作为代码而不是 GUI 配置。易于使用不是主要优先事项。
纯内置LSP实现的方式可以参考我之前写的文章:
《neovim内置lsp实现Java语言补全》
https://blog.csdn.net/lxyoucan/article/details/123443937
插件安装
需要 Neovim (>= 0.6.0)
nvim-jdtls 是一个插件。像安装任何其他 Vim 插件一样安装它:
如果使用vim-plug:Plug 'mfussenegger/nvim-jdtls'
如果使用packer.nvim:use 'mfussenegger/nvim-jdtls'
项目主页:
https://github.com/mfussenegger/nvim-jdtls
JDK版本选择
这里有一个小坑,就是JDK的版本要选择JDK11及以上版本才行。因为就目前来看,JDK8使用的概率还是非常高的。
如果你使用JDK8,使用java文件会报如下的错误:
Client 1 quit with exit code 1 and signal 0
推荐使用JDK11,因为我实测JDK11是正常使用的,其他版本的JDK我没有一一测试。
我的版本信息如下:
java -version
java version "11.0.10" 2021-01-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.10+8-LTS-162)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.10+8-LTS-162, mixed mode)
JDK版本选择
这里有一个小坑,就是JDK的版本要选择JDK11及以上版本才行。因为就目前来看,JDK8使用的概率还是非常高的。
如果你使用JDK8,使用java文件会报如下的错误:
Client 1 quit with exit code 1 and signal 0
推荐使用JDK11,因为我实测JDK11是正常使用的,其他版本的JDK我没有一一测试。
我的版本信息如下:
java -version
java version "11.0.10" 2021-01-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.10+8-LTS-162)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.10+8-LTS-162, mixed mode)
下载解压jdt-language-server
下载jdt-language-server
不同版本下载导航
https://download.eclipse.org/jdtls/milestones/?d
我最终下载的版本是:
https://download.eclipse.org/jdtls/milestones/1.9.0/jdt-language-server-1.9.0-202203031534.tar.gz
以下我的路径是个人喜好,可以根据自己的实际情况修改保存路径:
#创建workspace目录,后面会用到
mkdir -p ~/.local/share/nvim/lsp/jdt-language-server/workspace/folder
cd ~/.local/share/nvim/lsp/jdt-language-server
# 下载jdt-language-server-xxxxx.tar.gz
wget https://download.eclipse.org/jdtls/milestones/1.9.0/jdt-language-server-1.9.0-202203031534.tar.gz
# 解压
tar -zxvf jdt-language-server-1.9.0-202203031534.tar.gz
我的目录结构如下图所示
配置
要配置 nvim-jdtls, 添加以下内容 ftplugin/java.lua 在 neovim 配置基目录 (示例. ~/.config/nvim/ftplugin/java.lua
, 详情见 :help base-directory
)。
nvim ~/.config/nvim/ftplugin/java.lua
编辑文件,并且我的内容如下,请根据自己的实现情况调整。
主要就是文件的路径调整。
local config = {cmd = {"java","-Declipse.application=org.eclipse.jdt.ls.core.id1","-Dosgi.bundles.defaultStartLevel=4","-Declipse.product=org.eclipse.jdt.ls.core.product","-Dlog.protocol=true","-Dlog.level=ALL","-Xms1g","--add-modules=ALL-SYSTEM","--add-opens","java.base/java.util=ALL-UNNAMED","--add-opens","java.base/java.lang=ALL-UNNAMED","-jar","/home/vnc/.local/share/nvim/lsp/jdt-language-server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar","-configuration","/home/vnc/.local/share/nvim/lsp/jdt-language-server/config_linux","-data","/home/vnc/.local/share/nvim/lsp/jdt-language-server/workspace/folder"},root_dir = require("jdtls.setup").find_root({".git", "mvnw", "gradlew"}),settings = {java = {}},init_options = {bundles = {}}
}
require("jdtls").start_or_attach(config)
小坑提醒:
org.eclipse.equinox.launcher_1.6.400.v20210924-0641
.jar这个jar包的小版本号一直在变,不要忘记调整了,我之前就因为这个版本号浪费了好久排错。
为了方便大家理解每行配置的意思,我把配置做了注释,主要源于官方文档的翻译。
当心
neovim使用nvim-jdtls搭建Java IDE相关推荐
- 【视频】零基础neovim搭建Java IDE
文章目录 视频教程 系统环境 准备工作 文件下载 安装neovim 0.6以上版本 下载解压jdt-language-server 安装JDK11 安装curl git neovim配置 插件安装 配 ...
- 从零开始vim搭建Java开发环境之coc.nvim 篇
前言 vim之美妙我就不过多介绍了,懂的自然懂.之前我已经有一篇文章介绍如何使用SpaceVim来搭建Java开发环境. 传送门:<从零开始vim搭建Java开发环境[视频]> 最近使用c ...
- Neovim 打造 Java IDE
Neovim 打造 Java IDE 当你习惯了 Vim 文本编辑器,你就习惯了 Vim 文本编辑器(
- Linux搭建部落冲突,Neovim+Coc.nvim配置 目前个人最舒服终端编辑环境(PythonC++)
1. 前言 目前最常用的环境还是linux的服务器,所以最终选择的是nvim作为自己的首要编辑器,毕竟没有写一些比较大型的项目.在经过多次的摸索后,我还是选择了Neovim + Coc.nvim,放弃 ...
- 从零开始vim搭建Java开发环境[视频]
视频教程 从零开始vim搭建Java开发环境 全屏观看 前言 起初我仅仅是想在手机上搭建一套能开发Java的vim环境.<玩转手机中的linux系统termux并搭建java开发环境> 玩 ...
- macOS中SpaceVim搭建java开发环境
安装JDK11 过程略,可参考: https://blog.csdn.net/lxyoucan/article/details/111120215 macOS安装支持Python 3的neovim 为 ...
- Ubuntu 18.04.1 搭建Java环境和HelloWorld
一.搭建Java环境 系统环境 Ubuntu 18.04.1 JDK 8 IDEA 2018.2 1.下载JDK 官网地址:http://www.oracle.com/technet... 选择相应的 ...
- Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境
Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境 对于初学者来说,如果没有接触过java web开发的话,搭建开发环境将是一个门槛.以前一直 ...
- 搭建JAVA可视化开发环境
搭建JAVA可视化开发环境需要如下步骤: 1.下载安装Eclipse 2.下载安装EMF插件 3.下载安装GEF插件 4.下载安装VE插件 5.使用 1.下载安装Eclipse 返回 下载地址:htt ...
最新文章
- java hasnextstring_Java – ListIterator和hasNext
- 皮一皮:防狼泳衣...
- 「开源」首次被列入“十四五”规划,未来大有可为
- “阳光天使”2007全国小姐大赛北京赛区决赛
- Android应用程序显示未读消息计数
- Angularjs 动态添加指令并绑定事件
- chrome vue插件_不容错过的 Chrome 插件推荐合集-开发者必备篇
- 怎么把video文件改成mp4_GiliSoft Video Converter将MP4视频转换成M4V格式教程
- 提交注册信息到数据库中
- 起来吧!不要做奴隶的ITproject师们!
- 如何在Eclipse导入Java源代码
- 教你N种方法萤石云添加设备(转)
- STM32F411RE Nucleo笔记-按键控制PWM占空比
- 基于Springboot的网上商城
- 全国十大加班城市排行榜加班最疯狂的城市
- cont_c指令_SFB41_CONT_C输入和输出参数
- 如何去掉CSDN中图片水印
- java.sql.SQLException: 无效的列类型: 1111 (jdbcType相关)
- Verilog HDL语言总结(全)
- 全新自适应地址发布页HTML源码
热门文章
- 中国是世界上最幸福的国家么?
- 每天一道算法题-暴力求解建物流中间站
- 生物识别产业指纹识别锁在门禁锁的战略性前景
- 干货|读懂公链学开发:深入浅出剖析比原链技术特性(分享实录)
- 基于PHP+MySQL的咖啡销售购物商城网站
- 首先的亚当和末后的亚当_亚当–循序渐进
- 深入立即Linux网络技术内幕学习笔记第十六章:桥接:Linux实现
- 西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯
- 集群服务器session同步
- 是不是签了合同,我就卖给了他们了?!这家公司拿合同来要挟我:就是累死,也不准离职,否则交2万元的“违约金”。