Почему vs code не импортирует новые зависимости, которые я добавляю, которые отличаются от конфигурации gradle init по умолчанию?

Я использую gradle 7.02 (и использовал инициализацию gradle с возможностью создания одного java-проекта с использованием groovy в качестве языка сборки) -версия кода VS:

Версия: 1.46.1. Коммит: cd9ea6488829f560dc949a8b2fb789f3cdc05f5d. 0 ОС: Дарвин x64 18.7.0

У меня есть следующие плагины:

-Отладчик для Chrome -Отладчик для Java -ESLint -Поддержка языка Gradle -Пакет расширений Java -Java Test Runner -Языковая поддержка Java от redhat -Maven для Java -Менеджер проектов для Java

Когда я запускаю задачу в gradle, чтобы показать кеш, он показывает правильные зависимости:

Задача: приложение: showMeCache /Users/xxx/.gradle/caches/modules-2/files-2.1/org.projectlombok/lombok/1.18.20/18bcea7d5df4d49227b4a0743a536208ce4825bb/lombok-1.18.20.jar /Users/xxx/.gradle/ caches/modules-2/files-2.1/com.google.guava/guava/30.0-jre/8ddbc8769f73309fe09b54c5951163f10b0d89fa/guava-30.0-jre.jar /Users/xxx/.gradle/caches/modules-2/files-2.1/com .fasterxml.jackson.core/jackson-annotations/2.12.3/7275513412694a1aafd08c0287f48469fa0e6e17/jackson-annotations-2.12.3.jar/Users/xxx/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson. core/jackson-databind/2.12.3/d6153f8fc60c479ab0f9efb35c034526436a4953/jackson-databind-2.12.3.jar /Users/xxx/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core /2.12.3/deb23fe2a7f2b773e18ced2b50d4acc1df8fa366/jackson-core-2.12.3.jar /Users/xxx/.gradle/caches/modules-2/files-2.1/com.google.guava/failureaccess/1.0.1/1dcf1de382a0bf295a1failccess-1d8b0849b0849 1.0.1.jar/Users/xxx/.gradle/caches/modules-2/files-2.1/com.google. guava/listenablefuture/9999.0-пусто-во избежание-конфликта-с-гуавой/b421526c5f297295adef1c886e5246c39d4ac629/listenablefuture-9999.0-пусто-во избежание-конфликта-с-guava.jar /Users/xxx/.gradle/caches/modules-2 /files-2.1/com.google.code.findbugs/jsr305/3.0.2/25ea2e8b0c338a877313bd4672d3fe056ea78f0d/jsr305-3.0.2.jar /Users/xxx/.gradle/caches/modules-2/files-2.1/org.checkerframework/ checker-qual/3.5.0/2f50520c8abea66fbd8d26e481d3aef5c673b510/checker-qual-3.5.0.jar/Users/xxx/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.3.4/dac170e466ebbfffbbfb36266 /error_prone_annotations-2.3.4.jar/Users/xxx/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.3/ba035118bc8bac37d7eff77700720999acd9986d/j2objc-annotations-1.3.jar

Когда я запустил отладку, он показал, что он загрузил зависимости, когда я запустил gradle clean build --refresh-dependencies -debug

Мне удалось заставить зависимости работать, если я сделал простой проект с использованием gradle init, но по какой-то причине, когда вы выполняете приложение против кода, не добавляете зависимости в java-проекты->Проект и внешние зависимости.

Это файл сборки для моего приложения:

  /*
 * This file was generated by the Gradle 'init' task.
 *
 * This generated file contains a sample Java application project to get you started.
 * For more details take a look at the 'Building Java & JVM projects' chapter in the Gradle
 * User Manual available at https://docs.gradle.org/7.0.2/userguide/building_java_projects.html
 */

plugins {
    // Apply the application plugin to add support for building a CLI application in Java.
    id 'application'
    
}

apply plugin: 'java'

repositories {
    // Use Maven Central for resolving dependencies.
    mavenCentral()
}

dependencies {
    // Use JUnit Jupiter API for testing.
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.1'

    // Use JUnit Jupiter Engine for testing.
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'

    // This dependency is used by the application.
    implementation 'com.google.guava:guava:30.0-jre'

    implementation 'com.fasterxml.jackson.core:jackson-core:2.12.3'
    implementation 'com.fasterxml.jackson.core:jackson-annotations:2.12.3'
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3'
    compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.20'

}

application {
    // Define the main class for the application.
    mainClass = 'query.App'
}

tasks.named('test') {
    // Use junit platform for unit tests.
    useJUnitPlatform()
}

task showMeCache doLast() {
    configurations.compileClasspath.each { println it }
}

Это файл сборки для простого проекта, который правильно загружает зависимости в коде vs:

    apply plugin: 'java'


defaultTasks 'clean', 'compileJava'

repositories {
    mavenCentral()
}

dependencies{
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-api:5.7.1'
    implementation 'com.fasterxml.jackson.core:jackson-core:2.12.3'
    implementation 'com.fasterxml.jackson.core:jackson-annotations:2.12.3'
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3'
}

test {
    useJUnitPlatform()
}

Я искал в Интернете решения для кода vs, но не могу найти никого с моей проблемой. Что я делаю не так?


person Zealot    schedule 29.05.2021    source источник
comment
Это звучит как вопрос о плагине Gradle, а не о самом VS Code? Вы спрашивали в системе отслеживания проблем этого плагина?   -  person Mike 'Pomax' Kamermans    schedule 29.05.2021
comment
Я не думаю, что это проблема с плагином Gradle, потому что конфигурация отлично работает в intellij. Может, мне просто вернуться к intellij.   -  person Zealot    schedule 29.05.2021
comment
VS Code не знает, что такое gradle, если только вы не установите расширение, которое учит его тому, что такое gradle (то же самое для Java).   -  person Mike 'Pomax' Kamermans    schedule 30.05.2021


Ответы (1)


но по какой-то причине, когда вы выполняете приложение против кода, не добавляете зависимости в java-проекты->Проект и внешние зависимости.

После добавления зависимости появится всплывающее уведомление с вопросом

A build file was modified. Do you want to synchronize the Java classpath/configuration?

Нажмите Сейчас, ваш проект будет перестроен, после чего зависимость будет добавлена ​​в раздел Проект и внешние зависимости. Если нет, после перестроения проекта нажмите кнопку обновления:

введите здесь описание изображения

person Molly Wang-MSFT    schedule 02.06.2021