VsCode & Maven Remote Development and Debugging

2022-04-18 14:24:36 浏览数 (1)

前几天踩了一个坑,基于vscode远程开发调试java8代码。vscode的远程开发非常方便,在python开发方面已经可以抛弃pycharm了,但是在java方面离Intellij idea 还差得很远。但是Intellij idea 的远程开发功能只有pro付费版才有,社区版只能用于自己桌面。为了能够在远程开发机进行debug java代码,于是硬啃vscode对应的配置。踩过坑之后,就会觉得vscode真香!

目的

基于vscode Maven 远程开发调试基于java8的项目代码

步骤

在开发机上安装java开发环境

代码语言:javascript复制
sudo apt install openjdk-8-jdk # dev host ubuntu system
  • 注册环境变量
代码语言:javascript复制
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
  • 安装maven和配置maven 环境变量
代码语言:javascript复制
sudo apt update # dev host
sudo apt install maven
export M2_HOME="/usr/share/maven"  # default directory for mvn home
export M2=${M2_HOME}/bin
export PATH=${PATH}:${M2_HOME}/bin
  • 如果maven仓库有用到内部私有源,则需要在maven配置文件做一些修改(/usr/share/maven/conf/settings.xml)

配置vscode

  • 在自己电脑上安装 Vscode
  • vscode上搜索安装远程开发插件Install Remote Development extension pack
  • 启动vscode,接入远程开发机
  • 在远程开发机上安装java开发插件
  • 1 Java Extension Pack
  • 2 Install Lombok Annoations for Vscode
  • 3 等,视项目使用情况而定
  • 在远程开发机上指定JDK版本
  • 1 vscode的语言工具LanguageSupport for Java 不再支持java8;因此我们还需要在开发机上安装java11以上版本的JDK
  • 2 比如可以安装JDK16
代码语言:javascript复制
sudo apt update
sudo apt install openjdk-16-jdk # dev host ubuntu system
  • vscode的语言工具需要java11以上版本,但是运行的时候可以指定仍然使用java8.此时配置vscode Cmd shift P (mac 命令): select “configure Java Runtime“

配置远程开发机

  • Cmd Shift P (Mac 命令): typing “remote settings“
  • Select Preference: Open Remote Settings (SSH: your host)
  • 用下面的内容替换setting.json中的内容
代码语言:javascript复制
{
    "workbench.colorTheme": "Default Dark ",
    "maven.terminal.useJavaHome": true,
    "java.help.firstView": "gettingStarted",
    "files.exclude": {
        "**/.classpath": true,
        "**/.project": true,
        "**/.settings": true,
        "**/.factorypath": true
    },
    "java.configuration.maven.globalSettings": "/usr/share/maven/conf/settings.xml",
    "java.maven.downloadSources": true,
    "java.eclipse.downloadSources": true,
    "java.configuration.maven.userSettings": "/usr/share/maven/conf/settings.xml",
    "maven.executable.path": "/usr/bin/mvn",
    "java.configuration.runtimes": [
        {
            "name": "JavaSE-1.8",
            "path": "/usr/lib/jvm/java-8-openjdk-amd64"
        },
    ],
}

运行和调试

  • git clone https**.git
  • 命令行方法
  • 1 mvn package -Dmaven.test.skip=true
  • 2 java -jar target/***.jar
  • 单步调试debug
  • 进入main class
  • 右键run 或者debug即可

0 人点赞