You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成SQLServer遇导入错误及启动失败问题求助

问题分析与解决方案

核心问题根源

「The import org.springframework.boot.autoconfigure.jdbc cannot be resolved」和ClassNotFoundException: DataSourceProperties的本质是缺少Spring Boot JDBC自动配置的核心依赖,和你手动安装sqljdbc4.jar的操作无关;同时手动安装旧版驱动的方式也容易引发依赖冲突或适配问题。


1. 修正pom.xml依赖配置

首先添加Spring Boot JDBC Starter,它会自动包含DataSourceProperties等所需的核心类:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

然后替换手动安装的sqljdbc4.jar,改用Maven中央仓库维护的官方SQLServer驱动(版本需适配你的SQLServer版本,SQLServer 2017+推荐用9.x及以上版本):

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <scope>runtime</scope>
</dependency>

2. 清理旧驱动依赖

如果之前通过mvn install将sqljdbc4.jar安装到了本地Maven仓库,建议删除本地仓库中对应的依赖文件,避免和官方驱动产生冲突。

3. 验证数据库配置文件

确保application.properties/application.yml中的配置符合SQLServer要求:

application.properties示例

spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=你的数据库名;encrypt=true;trustServerCertificate=true
spring.datasource.username=你的数据库用户名
spring.datasource.password=你的数据库密码
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver

application.yml示例

spring:
  datasource:
    url: jdbc:sqlserver://localhost:1433;databaseName=你的数据库名;encrypt=true;trustServerCertificate=true
    username: 你的数据库用户名
    password: 你的数据库密码
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver

注:SQLServer 2016及以后版本默认要求加密连接,trustServerCertificate=true仅用于开发环境跳过证书验证,生产环境需配置合法证书。

4. 检查自定义数据源配置类

如果你的DataSourceConfig.java是自定义配置,确保导入路径正确且配置逻辑合法:

import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;

@Configuration
public class DataSourceConfig {

    @Bean
    @ConfigurationProperties("spring.datasource")
    public DataSourceProperties dataSourceProperties() {
        return new DataSourceProperties();
    }

    @Bean
    public DataSource dataSource(DataSourceProperties properties) {
        return properties.initializeDataSourceBuilder().build();
    }
}

若无需自定义数据源,可直接删除该配置类,Spring Boot会自动根据配置文件生成数据源。

5. 重新构建项目

执行以下命令清理并重新构建项目:

mvn clean install

在VS Code中也可通过Ctrl+Shift+P唤起命令面板,选择「Maven: Clean」和「Maven: Install」执行操作。

内容的提问来源于stack exchange,提问作者Arcturus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 12:24:55