• Java 的 Exception in thread "main" java.lang.NoClassDefFoundError


    近日,客户提出Java程序运行连接connection有误,因此开始了研究。

    由于很久不编写Java 程序,并且多数情况下需要用 Eclipse。此次为简单起见,只用Java 纯命令行进行调试:

    刚开始的时候,可以正常运行。

    后来,加入了classpath ,反而报错:

    Exception in thread "main" java.lang.NoClassDefFoundError: test01
    Caused by: java.lang.ClassNotFoundException: test01
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    Could not find the main class: test01. Program will exit. 

    后经反复查阅资料,才明白问题出在哪里。

    我们设置了 CLASSPATH以后,我们必须要注意:

    CLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\lib\rt.jar;c:\gaojian\jdbc\edb-jdbc14.jar;c:\gaojian\jdbc\c3p0-0.9.2-pre4.jar; c:\gaojian\jdbc\mchange-commons-java-0.2.2.jar

    应该改为:

    CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\lib\rt.jar;c:\gaojian\jdbc\edb-jdbc14.jar;c:\gaojian\jdbc\c3p0-0.9.2-pre4.jar; c:\gaojian\jdbc\mchange-commons-java-0.2.2.jar

    这个 . ,表示的是当前路径。 以此备忘。

  • 相关阅读:
    [设计模式]<<设计模式之禅>>关于迪米特法则
    [设计模式]<<设计模式之禅>>关于接口隔离原则
    [设计模式]<<设计模式之禅>>关于依赖倒置原则
    /proc/meminfo分析(一)
    Dynamic DMA mapping Guide
    Linux时钟
    Linux系统休眠和设备中断处理
    Linux调度器
    Linux调度器
    Linux标识进程
  • 原文地址:https://www.cnblogs.com/gaojian/p/2648686.html
Copyright © 2020-2023  润新知