zoukankan      html  css  js  c++  java
  • java命令行运行错误:ClassNotFoundException【转】

    原文地址:http://blog.csdn.net/java2000_net/article/details/3044400

    异常信息:
    C:/java>javac ab.java

    C:/java>java ab
    Exception in thread "main" java.lang.NoClassDefFoundError: ab
    Caused by: java.lang.ClassNotFoundException: ab
            at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

    C:/java>

    原因:

      当前目录并未在CLASSPATH里面

    解决方案:
      使用
    C:/java>java -cp . ab

    就可以了。其中的 -cp . 是java的标准参数,等于 -classpath . 也就是把当前目录加入CLASSPATH
    我们看一下java的命令行参数,其中
        -cp <class search path of directories and zip/jar files>
        -classpath <class search path of directories and zip/jar files>
                      A ; separated list of directories, JAR archives,
                      and ZIP archives to search for class files.


    第二种情况,缺少某个jar里面的类,比如你的程序用到了Spring.jar 则在命令行可以这样运行
    c:/java>java -cp.;c:/lib/spring.jar ab

    如果spring.jar还依赖别的类库,就继续在后面书写完整的jar路径就行了。在Windows下面用分号分隔,在Linux下面用冒号分割。

  • 相关阅读:
    HDOJ 1284 钱币兑换问题
    WA : csu1019 simple line editor
    HDOJ1232 并查集
    最长回文子串
    Where's Waldorf?
    csu 1148 词典
    csu 1011 Counting Pixels
    Product:java高精度乘法
    内置类型开方
    csu 1019 Simple Line Editor
  • 原文地址:https://www.cnblogs.com/wxy325/p/2913811.html
Copyright © 2011-2022 走看看