用 neovim 创建 Spring Boot 和 Maven 项目的方法
最编程
2024-02-13 16:58:48
...
本文在debain系统中搭建java开发环境;配置neovim, 支持代码补全和代码调试;使用 maven项目和spring boot项目验证调试能力。
为什么开始学习java
- 1, 陈皓大佬说除了java语言,其他语言没有架构,准备体验下味道。
- 2, neovim下开发java对我来说已经够用了。支持补全,调试,速度快。
- 3, 多个语言,多个机会,开干。
成品界面
调试的程序为 maven 标准项目。spring boot也可以调试。spring boot 快速开始会单独起文章,这里只提供参考连接。
调试界面
代码补全界面
安装 jdk 和 maven
sudo apt install -y openjdk-17-jdk maven
maven切换到阿里云镜像
阿里云 maven
安装 java-debug 和 vscode-java-test
#!/usr/bin/sh
INSTALL_FOLDER="$HOME/.local/share/nvim"
# Install java-debug
rm -rf "$INSTALL_FOLDER/java-debug"
git clone https://github.com/microsoft/java-debug.git "$INSTALL_FOLDER/java-debug"
cd "$INSTALL_FOLDER/java-debug" && ./mvnw clean install
# Install vscode-java-test
rm -rf "$INSTALL_FOLDER/vscode-java-test"
git clone https://github.com/microsoft/vscode-java-test.git "$INSTALL_FOLDER/vscode-java-test"
cd "$INSTALL_FOLDER/vscode-java-test" && npm install && npm run build-plugin
安装 jdtls
作者使用mason管理 jdt 和 lsp,安装下java的lsp,即jdtls。
MasonInstall jdtls
安装neovim 插件
use 'mfussenegger/nvim-jdtls'
配置 nvim-jdtls
新增文件 ~/.config/nvim/ftplugin/java.lua。内容为:
local HOME = os.getenv "HOME"
local DEBUGGER_LOCATION = HOME .. "/.local/share/nvim"
-- Debugging
local bundles = {
vim.fn.glob(
DEBUGGER_LOCATION .. "/java-debug/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar"
),
}
vim.list_extend(bundles, vim.split(vim.fn.glob(DEBUGGER_LOCATION .. "/vscode-java-test/server/*.jar"), "\n"))
-- jdtls 通过mason安装
local config = {
cmd = {DEBUGGER_LOCATION .. '/mason/bin/jdtls'},
root_dir =vim.fs.dirname(vim.fs.find({'.git','mvnw','gradlew'},{upward=true})[1]),
init_options = {
bundles = bundles
},
}
config.on_attach = function(client,bufnr)
require("jdtls").setup_dap {hotcodereplace = "auto"}
require("jdtls").setup.add_commands()
require("jdtls.dap").setup_dap_main_class_configs()
end
require("jdtls").start_or_attach(config)
nvim dap
lua require'dap'.toggle_breakpoint()
lua require'dap'.continue()
lua require'dap'.step_over()
lua require'dap'.step_into()
lua require'dap'.repl.open()
lua require'jdtls'.test_nearest_method()
lua require'jdtls'.test_class()
maven project
在五分钟maven中使用下列命令,生成maven项目。mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
目录结构如图:\
spring boot project
spring boot quick start
具体修改
neovim 下 java IDE 搭建
参考
- 1, neovim-for-beginners-java-debugging
- 2, setup-neovim-for-java-development
总结
本文有些跳跃,主要是记录搭建过程,如感兴趣,没描述清楚,欢迎沟通。
上一篇: 我的2021年Vim使用设置
下一篇: 在NVIM中设置Python断点的步骤