【问题标题】:VSCode + Gradle Java Run and DebugVSCode + Gradle Java 运行和调试
【发布时间】:2020-12-18 01:26:51
【问题描述】:

我正在尝试使用带有模块的 Java 的 Gradle 构建文件(从 Java 版本 11 开始)使 VSCode 工作。 gradle.build 编译工作得很好,但我不能让 VSCode 执行输出编译的 Java 类文件。 (它总是尝试创建自己的。)

VSCode 版本:1.48.2

系统信息:Ubuntu 2020.04

Java 构建:

openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

build.gradle 文件:

apply plugin: 'java'
def version = 0.1

sourceSets {
    main {
        java {
            srcDir 'src/easytext/javamodularity/easytext'
        }
    }
}

module-info.java 位于 $projectDir/src/easytext/module-info.java

// module easytext {
module easytext.javamodularity.easytext {
    requires java.base;
}

非常简单的Main.java,位于$projectDir/src/easytext/javamodularity/easytext/Main.java:

//package easytext;
package easytext.javamodularity.easytext;

import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        if (args.length == 0) {
            System.out.println("Welcome to EasyText. Please provide a filename as input argument.");
            return;
        }

}

gradle 文件总是想输出到 $projectDir/build/,但是 VScode 总是想运行 $projectDir/bin/easytext/javamodularity/easytext/Main.class 中的文件。 p>

我也收到了我不明白的 VSCode 错误:“module-info.java 不在项目 EasyText 的类路径上,只报告语法错误。”

运行 Gradle 任务“build”确实编译成功。

我没有launch.json 文件,因为我不知道如何将它指向modulePath?还是我缺少某种魔法?

【问题讨论】:

    标签: java gradle visual-studio-code


    【解决方案1】:

    这是一个老问题,但我遇到了同样的问题,如果有人需要,这是我的解决方案。

    1)安装gradle vscodeextension

    2) 打开 gradle 任务,这里有运行/调试选项

    或者,您可以使用从终端运行任务

    Linux

    ./gradlew 构建

    ./gradlew 运行

    Windows

    gradlew.bat 构建

    gradlew.bat 运行

    【讨论】:

      【解决方案2】:

      你需要在 VScode 上安装 gradle 扩展并运行

      ./gradlew build & ./gradlew run

      【讨论】:

      【解决方案3】:

      如果您已正确配置为调试 gradle 任务,您将在 gradle 任务列表中的运行图标旁边看到一个调试图标。要进入 gradle 任务列表,请单击扩展栏中的 Gradle 徽标(由 黄色 箭头指示)。 红色箭头表示调试任务。

      VSCode 不一定配置为显示此选项。可以配置的地方有 3 个。

      1. 用户settings.json 文件。
      2. 工作区settings.json 文件。
      3. 远程机器的settings.json 文件。 (仅适用于在远程服务器上开发)

      这些文件可以被编辑

      1. Ctrl+,打开设置窗口。
      2. 在搜索栏中输入gradle.javaDebug
      3. 根据需要选择用户、远程 [SSH:yourhostthere] 或工作区。
      4. 点击Edit in settings.json
      5. 在顶级大括号内添加以下代码。

      注意 1: 键入时,您将获得自动完成其余配置的选项。此外,如果您的 settings.json 文件中还有其他条目,请确保您包含一个适当的逗号。

      {
        "gradle.javaDebug": {
          "tasks": [
            "run",
            "runBoot",
            "test",
            "intTest",
            "integration"
          ]
        }
      }
      

      注意 2: 如果您有子项目,则应将 "gradle.javaDebug" 条目添加到工作区 settings.json。该条目将如下所示。

      {
        "gradle.javaDebug": {
          "tasks": [
            "run",
            "runBoot",
            "test",
            "intTest",
            "integration",
            "subprojectname:run",
            "subprojectname:test"
          ]
        }
      }
      

      这是使用 Visual Studio Code 版本:1.61.2 测试的。如果对settings.json 的更改无法解决您的问题,则可能存在与您的问题相关的未解决问题(截至本文发布时)。 https://github.com/microsoft/vscode-gradle/issues/876

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多