Spring Boot集成ActiveJDBC时出现PostgreSQL驱动类找不到异常
解决ActiveJDBC集成Spring Boot时的
org.postgresql.Drive类找不到异常 嘿,这个问题其实一眼就能揪出根源——你碰到的java.lang.ClassNotFoundException: org.postgresql.Drive异常,核心原因是驱动类名拼写错误!正确的PostgreSQL JDBC驱动类名应该是org.postgresql.Driver(最后多了一个'r')。
下面给你梳理下具体的修正步骤:
1. 修正数据库配置文件的驱动类
打开你的database.properties文件,找到JDBC驱动的配置项,确保它是:
jdbc.driver=org.postgresql.Driver
别再写成少了'r'的org.postgresql.Drive啦。
2. 确保PostgreSQL依赖在项目运行时可用
你目前把PostgreSQL依赖放在了db-migrator-maven-plugin的<dependencies>块里,这只会让插件执行数据库迁移时能拿到驱动,但Spring Boot应用运行时是访问不到这个依赖的。你需要把这个依赖移到项目根级别的<dependencies>中,这样应用启动时才能加载到驱动类。
修正后的pom.xml关键片段参考:
<!-- 项目根级别依赖,供应用运行时使用 --> <dependencies> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.4-1206-jdbc42</version> </dependency> <!-- 其他项目依赖... --> </dependencies> <!-- 数据库迁移插件配置 --> <build> <plugins> <plugin> <groupId>org.javalite</groupId> <artifactId>db-migrator-maven-plugin</artifactId> <version>${activejdbc.version}</version> <configuration> <configFile>${project.basedir}/src/main/resources/database.properties</configFile> <environments>${environments}</environments> </configuration> <!-- 如果插件执行迁移时也需要驱动,这里可以保留依赖(或因根级别已存在自动继承) --> <dependencies> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.4-1206-jdbc42</version> </dependency> </dependencies> </plugin> <!-- 其他插件... --> </plugins> </build>
3. 验证修复效果
完成上述修改后,先执行mvn clean install清理并重新构建项目,再启动Spring Boot应用,这个类找不到的异常应该就会消失了。
内容的提问来源于stack exchange,提问作者Light Harut
相关产品推荐
相关产品推荐

