导入org.springframework无法解析-Java(268435846)

时间:2018-12-26 14:37:05

标签: spring gradle visual-studio-code

我正在尝试在项目中使用Spring框架,但是导入有问题。我正在使用Gradle进行构建,使用React JS进行前端,使用Java进行后端。

奇怪的是,即使VS Code告诉我无法解析导入,我也可以使用RowMapper和JdbcTemplate这样的类(我可以使用这些类在数据库中进行读写)。

当我使用Gradle编译时(先编译渐变,然后在命令提示符下启动gradle bootrun),它也可以工作。

处理不应该出现的错误非常无聊。有人能帮我吗 ?

我个人认为这是我的build.gradle文件或VS代码中的配置错误,但我不确定。

这是我的build.gradle及其依赖项和存储库:

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }

apply plugin: 'java'
apply plugin: 'org.liquibase.gradle'

repositories {
mavenCentral()
}

dependencies {
compile("org.springframework.boot:spring-boot-starter:2.0.6.RELEASE")

// Use MySQL Connector-J
runtime 'mysql:mysql-connector-java:8.0.12'

compile("org.springframework:spring-jdbc:3.2.4.RELEASE")

testCompile('org.junit.jupiter:junit-jupiter-api:5.3.1')
testRuntime('org.junit.jupiter:junit-jupiter-engine:5.3.1')

compile ('commons-dbcp:commons-dbcp:1.4')

liquibaseRuntime 'org.liquibase:liquibase-core:3.6.1'
liquibaseRuntime 'org.liquibase:liquibase-groovy-dsl:2.0.1'
liquibaseRuntime 'mysql:mysql-connector-java:8.0.12'
}

这是我的项目中发生错误的一类:

package be.heh.petclinic.component.pet;

import java.util.List;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import be.heh.petclinic.domain.Pet;

    public class JdbcPetDao {

    private DataSource dataSource;

    public JdbcPetDao(DataSource dataSource){
        this.dataSource = dataSource;
    }

    public List<Pet> getPets() {
        JdbcTemplate select = new JdbcTemplate(dataSource);
        return select.query("SELECT name, birth_date, owner_id, type_id FROM pets", new PetRowMapper());
    }

}

org.springframework带下划线,因此也带有JdbcTemplate。

2 个答案:

答案 0 :(得分:3)

我能够通过强制vscode重新加载我的项目配置来解决我的项目中的问题。我从这里开始执行以下步骤: https://github.com/Microsoft/vscode-java-debug/blob/master/Troubleshooting.md#build-failed-do-you-want-to-continue

此命令为我修复了vscode:

  

打开您的Maven pom.xml文件或Gradle build.gradle文件,然后运行VS   代码命令“ Java:更新项目配置”以强制执行   语言服务器以更新项目配置/类路径。

答案 1 :(得分:0)

这发生在我身上,解决方案是升级到最新版本的SpringBoot。我没有找到有关如何执行此操作的简单指南,但对我来说,一种简单的方法是在VSCode中创建一个新的SpringBoot项目,然后