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

Vaadin应用部署Tomcat时抛出DataSource相关异常求助

解决Vaadin应用部署Tomcat时的Failed to determine a suitable driver class异常

以下是针对你遇到问题的可行解决步骤:

  • 排除Spring DataSource自动配置
    Spring Boot默认会自动配置数据源,哪怕你代码里没用到相关逻辑。你可以通过两种方式禁用该自动配置:

    1. 在Spring Boot主类上添加排除注解:
      @SpringBootApplication(exclude = {
          DataSourceAutoConfiguration.class,
          HibernateJpaAutoConfiguration.class
      })
      public class YourVaadinApplication {
          public static void main(String[] args) {
              SpringApplication.run(YourVaadinApplication.class, args);
          }
      }
      
    2. 在application.properties或application.yml中添加配置:
      • properties格式:
        spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
        
      • yml格式:
        spring:
          autoconfigure:
            exclude:
              - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
              - org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
        
  • 清理冗余依赖
    检查你的项目依赖(Maven的pom.xml或Gradle的build.gradle),如果存在spring-boot-starter-data-jpa、spring-boot-starter-jdbc这类你实际没用到的依赖,直接移除。这些依赖会触发Spring的数据源自动配置逻辑,导致报错。

  • 验证Tomcat驱动配置
    虽然你已将MySQL驱动放入Tomcat的/lib目录,但仍需确认:

    • 驱动版本与Tomcat版本兼容(比如MySQL 8.x对应mysql-connector-java:8.x,适配Tomcat 9/10);
    • 驱动文件未同时被打包进WAR包的WEB-INF/lib目录(避免类加载冲突);
    • 驱动文件名正确,且确实放置在Tomcat的全局lib目录下(而非项目自定义的lib文件夹)。
  • 移除残留的数据源配置
    检查项目的application.properties或application.yml,如果存在spring.datasource.url、spring.datasource.username这类无关配置,直接删除。Spring会读取这些配置尝试初始化数据源,进而引发异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 10:32:46