解决之道: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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值