You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

切换至Vim后JDTLS未识别项目根目录lombok.config文件问题

解决JDTLS无法识别项目根目录lombok.config的问题

问题原因

编译正常但JDTLS报错,是因为构建工具(Maven/Gradle)会自动扫描项目根目录的lombok.config,但JDTLS的Lombok集成默认不会主动加载该配置文件,导致代码检查时不识别lombok.accessors.chain=true的链式调用设置。

解决步骤

1. 确保JDTLS已正确集成Lombok

检查Vim的LSP配置(以Neovim的nvim-lspconfig为例),确认Lombok的jar包已加入JDTLS的bundle中:

local lombok_jar = vim.fn.expand("~/.m2/repository/org/projectlombok/lombok/[你的lombok版本]/lombok-[你的lombok版本].jar")

require('lspconfig').jdtls.setup({
  -- 其他配置...
  init_options = {
    bundles = { vim.fn.glob(lombok_jar) },
  },
})

替换[你的lombok版本]为项目使用的实际版本,确保路径正确。

2. 手动指定lombok.config路径

在JDTLS的settings中添加配置,强制它读取项目根目录的lombok.config:

require('lspconfig').jdtls.setup({
  settings = {
    java = {
      -- 其他Java配置...
      lombok = {
        config = {
          path = "${workspaceFolder}/lombok.config"
        }
      }
    }
  },
  -- 其他配置...
})

${workspaceFolder}会自动替换为当前项目根目录,确保文件路径准确。

3. 刷新JDTLS项目配置

  • 重启JDTLS服务:在Neovim中执行:LspRestart jdtls
  • 触发项目同步:执行:lua require('jdtls').update_project_config()
  • 若仍无效,可删除JDTLS的项目缓存(默认路径~/.cache/jdtls/workspace/[项目名]),然后重启JDTLS让它重新加载配置。

4. 验证lombok.config语法

确保配置文件无拼写错误,比如lombok.accessors.chain=true格式正确,文件编码为UTF-8,无多余空格或特殊字符。

内容的提问来源于stack exchange,提问作者Derek Li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:10:04