`
luzl
  • 浏览: 568832 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

解决之道:java.lang.NoClassDefFoundError

阅读更多
经常遇到在命令行下运行程序的时候出现这类问题,现在总结一下:
1.就运行一个文件,但是报这个错.
  这种情况是因为你在classpath中没有加入当前路径。
set classpath=%java_home%\lib\tools.jar;[b]./[/b]

2.你要运行的文件依赖于其它包(jar文件).
  这种情况需要你把依赖的jar文件路径加到classpath环境变量中.
  如果你在C盘下有1.jar和2.jar两个文件,则如下:
set classpath=%classpath%;c:\lib\1.jar;c:\lib\2.jar;

3.你要运行的jar文件,依赖于其它包(jar文件).
   这种情况比较特殊,windows和unix系统不太一样,如果unix系统你所做的跟第二种情况一样,把依赖的包加入到classpath就行了.
   windows系统的话就需要把,jar文件写到MANIFEST.MF中,像这样:
 
 Manifest-Version: 1.0
Main-Class: info.linkwiki.report.User
Class-Path:C:/lib/1.jar

    对于第三种情况我不是很确定是不是JDK也有区别,如果你发现加到classpath中不好使的时候可以试试加到MANIFEST.MF中。
    当然,还有最狠得一招,利用JDK自己的特点,把你所需用引用的jar文件直接拷贝到%java_home%/lib/ext下,jdk启动的时候就会load到的,这样你也就找到了.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics