【问题标题】:Could not find or load main class Mysql找不到或无法加载主类 Mysql
【发布时间】:2016-11-12 12:39:14
【问题描述】:

我的 java 应用程序编译有问题。

文件夹结构:

src/LogServer.java(这是主类)

src/SocketThread.java

我也在其中使用 MySQL 驱动程序。 此文件不在包中。

当我跑步时:

javac -classpath mysql-connector-java-3.1.14-bin.jar *.java

一切正常。

查看编译:

java -classpath mysql-connector-java-3.1.14-bin.jar LogServer

编译器说:

user@user-Inspiron-3543:~/workspace/LogServer/src$ javac -classpath mysql-connector-java-3.1.14-bin.jar *.java

user@user-Inspiron-3543:~/workspace/LogServer/src$ java -classpath mysql-connector-java-3.1.14-bin.jar LogServer
错误:无法找到或加载主类 LogServer

user@user-Inspiron-3543:~/workspace/LogServer/src$ java LogServer
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    在 jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@9-internal/BuiltinClassLoader.java:366)
    在 jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@9-internal/ClassLoaders.java:184)
    在 java.lang.ClassLoader.loadClass(java.base@9-internal/ClassLoader.java:419)
    在 java.lang.Class.forName0(java.base@9-internal/Native 方法)
    在 java.lang.Class.forName(java.base@9-internal/Class.java:294)
    在 LogServer.init(LogServer.java:22)
    在 LogServer.main(LogServer.java:51)
user@user-Inspiron-3543:~/workspace/LogServer/src$

【问题讨论】:

    标签: java mysql compiler-errors javac


    【解决方案1】:

    您将需要使用 -classpath 参数。在您的类路径中,您将需要 '.'确定您的当前目录位于类路径和 mysql-connector-java-3.1.14-bin.jar 上。所以你把这两个放在一个列表中。在 Linux 上,元素由 ':' 分隔。在 Windows 上,它是 ';'。

    java -classpath .:mysql-connector-java-3.1.14-bin.jar LogServer
    

    编辑:大量编辑

    【讨论】:

    • 实际上我正在从存在类和 jar 文件的 src 文件夹中运行 java 和 javac。而且它不工作
    • 然后从命令 java -classpath .;mysql-connector-java-3.1.14-bin.jar LogServer 中删除 src
    • 我知道,但它不起作用。我在linux上运行它。这很奇怪,当我尝试编译其他应用程序时,一切正常。
    • LogServer中是否有方法public static void main(String args[])?
    • 添加编译器答案
    猜你喜欢
    • 2017-02-26
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-04
    • 2015-09-22
    • 2012-06-20
    相关资源
    最近更新 更多