2013-11-04 67 views
2

此错误:java.lang.ClassNotFoundException : javax.xml.soap.SoapException是什么原因导致抛出java.lang.ClassNotFoundException运行代码

我可以看到javax.xml.soap.SoapException是在classpath所以这可能是造成这个错误?

在更一般的术语中,如果编译器不能捕获这个错误,那么java.lang.ClassNotFoundException如何在运行代码中被抛出?我发生这种情况的唯一情况是,如果使用库构建了一个jar,并且使用该jar时,jar依赖的库不在类路径中。

+1

它真的在寻找javax.xml.soap.soapexception吗?因为这个类不存在。然而,javax.xml.soap.SoapException确实存在。 – rmlan

+0

这意味着没有找到该类。可能是该类存在于执行环境中的某个位置,但不是在错误发生时正在访问的类路径中。 –

+0

如果应用程序的组件尝试使用自定义类加载器来加载类,并且在该加载器的路径中找不到类,则即使该类位于主类路径中,也可能会出现此错误。 –

回答

1

用来编译应用程序的类路径,是不一样的,你用它来运行应用程序的类路径。当应用程序使用java运行时,您仍然需要使用-cp加载所有支持的jar文件

1

一种可能性:

Class.forName("this.will.throw.ClassNotFoundException") 
相关问题