Java ClassNotFoundException:com.mysql.cj.jdbc.Driver

时间:2019-02-07 10:14:45

标签: java mysql jdbc xampp

在否决我的问题并说这可能是另一个问题的重复之前,我想弄清楚我正在寻找5个小时的解决方案。我已经阅读了所有与ClassNotFoundException相关的stackoverflow问题:com.mysql.cj.jdbc.Driver,但都没有解决我的问题。据我所知,这只是意味着我缺少mysql connector / j库,我甚至对它进行了三重检查,库已包含在项目中,一切都很好。我一直在网上寻找解决方案,有人建议修改“ C:\ xampp \ mysql \ bin \ my.ini文件”,以禁用/注释“跳过网络”和“跳过联合”并启用/取消注释绑定-address =“ 127.0.0.1”。在我的文件中,默认情况下禁用/注释了“跳过联合”和“跳过网络”,因此我只需要启用/取消注释bind-address =“ 127.0.0.1”,但仍然无法正常工作,我怀疑它是xampp有什么用,但是可能是什么呢?

错误的堆栈跟踪

    java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at com.game.server.model.dao.MySQL.JDBCUtil.<clinit>(Unknown Source)
        at com.game.server.launch.LaunchServer.main(Unknown Source)
Exception in thread "main" java.lang.ExceptionInInitializerError
        at com.game.server.launch.LaunchServer.main(Unknown Source)
Caused by: java.lang.RuntimeException: Unable to load mysql driver.
        at com.game.server.model.dao.MySQL.JDBCUtil.<clinit>(Unknown Source)
        ... 1 more

.classpath项目的文件(REPO_VAR是指向项目的/ lib /目录的eclipse变量)

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry exported="true" kind="var" path="REPO_VAR/junit.jar"/>
    <classpathentry exported="true" kind="var" path="REPO_VAR/log4j-1.2.17.jar"/>
    <classpathentry kind="src" path="test"/>
    <classpathentry combineaccessrules="false" kind="src" path="/server-core"/>
    <classpathentry kind="var" path="REPO_VAR/mysql-connector-java-8.0.15.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

该项目是通过ant构建的,因此这是build.xml的编译部分

<target name="build" depends="compile">
    <jar basedir="${classes.dir}" destfile="${dist.dir}/${project.name}.jar">
        <manifest>
            <attribute name="Class-Path" value="log4j-1.2.17.jar server-core.jar" />
            <attribute name="Main-Class" value="com.game.server.launch.LaunchServer"/>
        </manifest>
    </jar>
</target>

更有趣的是,通过右键单击项目>运行方式> Java程序,该项目可以在Eclipse上很好地运行,所以我对此很困惑。

0 个答案:

没有答案