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下面用冒号分割。

  • 相关阅读:
    Java实现 LeetCode 136 只出现一次的数字
    Java实现 LeetCode 136 只出现一次的数字
    Java实现 LeetCode 136 只出现一次的数字
    Java实现 LeetCode 135 分发糖果
    Java实现 LeetCode 135 分发糖果
    Java实现 LeetCode 135 分发糖果
    Java实现 LeetCode 134 加油站
    Java实现 LeetCode 134 加油站
    Java实现 LeetCode 134 加油站
    Java实现 LeetCode 133 克隆图
  • 原文地址:https://www.cnblogs.com/wxy325/p/2913811.html
Copyright © 2011-2022 走看看