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

Java程序在Eclipse可运行,终端执行缺失MySQL驱动问题求助

解决终端运行Java程序时的com.mysql.cj.jdbc.Driver类找不到问题

问题原因

Eclipse会自动将Maven管理的依赖jar包加入项目类路径,所以运行正常;但终端直接执行java命令时,默认只加载当前目录的类文件,没有包含MySQL Connector/J驱动包,导致类找不到。

解决方案

1. 使用Maven Exec插件运行(推荐)

直接通过Maven插件启动程序,它会自动处理依赖类路径:

mvn exec:java -Dexec.mainClass="application.Program"

替换application.Program为你实际的主类全限定名。

2. 打包成包含依赖的可执行Jar

修改项目的pom.xml,添加maven-assembly-plugin配置,生成包含所有依赖的Jar包:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.6.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <!-- 指定主类 -->
                        <mainClass>application.Program</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <!-- 打包包含所有依赖的Jar -->
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

执行打包命令:

mvn package

打包完成后,在target目录下会生成类似[项目名]-jar-with-dependencies.jar的文件,运行它:

java -jar target/[项目名]-jar-with-dependencies.jar

替换[项目名]为你的实际项目名称。

3. 手动指定类路径运行

找到Maven本地仓库中MySQL驱动的Jar包路径(通常在~/.m2/repository/com/mysql/mysql-connector-java/[版本号]/下),运行时手动将其加入类路径:

java -cp ".:~/.m2/repository/com/mysql/mysql-connector-java/8.0.36/mysql-connector-java-8.0.36.jar" application.Program
  • 注意:Linux系统用:分隔类路径,.代表当前目录;替换版本号和主类名为实际值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:25:21