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

命令行运行Maven Kotlin Ktor项目遇java.sql.Driver类找不到错误

解决Java 11下Ktor项目命令行运行时java.sql.Driver找不到的问题

针对你遇到的ClassNotFoundException: java.sql.Driver错误,提供以下几种可行的解决方法:

1. 修正类路径与启动命令

  • 确保mysql-connector-java-8.0.30.jar在当前执行命令的目录下,或者使用绝对路径指定jar位置:
    kotlin -cp /绝对路径/mysql-connector-java-8.0.30.jar:/绝对路径/dev_meet_dev_api.jar MainClassKt
    
  • 由于Java 11是模块化环境,需显式添加MySQL驱动模块,修改启动命令:
    kotlin --add-modules mysql.connector.java -cp mysql-connector-java-8.0.30.jar:dev_meet_dev_api.jar MainClassKt
    

2. 打包包含所有依赖的可执行Jar(推荐)

使用Maven的maven-shade-plugin将项目代码与依赖打包成一个Jar,避免手动管理类路径:
在你的pom.xml中添加以下插件配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.4.1</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>MainClassKt</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

执行打包命令:

mvn clean package

打包完成后,运行生成的带依赖Jar(文件名通常为dev_meet_dev_api-<版本号>-shaded.jar):

java -jar dev_meet_dev_api-1.0-SNAPSHOT-shaded.jar

3. 修正JDBC驱动加载逻辑

  • MySQL 8.0的驱动类为com.mysql.cj.jdbc.Driver,而非旧的java.sql.Driver(后者是接口)。确保代码中没有错误地加载旧类名:
    // 正确的加载方式(JDBC 4.0+可省略此步骤,驱动会自动注册)
    Class.forName("com.mysql.cj.jdbc.Driver")
    
  • 从JDBC 4.0开始,只要驱动在类路径中,会自动注册,可移除手动加载的代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 20:10:43