概述
异常信息:
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下面用冒号分割。
最后
以上就是害羞小甜瓜为你收集整理的运行错误:ClassNotFoundException的全部内容,希望文章能够帮你解决运行错误:ClassNotFoundException所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复