实例化内部类时java.lang.ClassNotFoundException
我对Inner类有以下问题。代码如下:实例化内部类时java.lang.ClassNotFoundException,java,classnotfoundexception,Java,Classnotfoundexception,我对Inner类有以下问题。代码如下: public class PGZUserManagerBean { // joomla login as separate thread private class JoomlaLogin extends Thread { private AuthJoomla authJoomla; public JoomlaLogin(AuthJ
public class PGZUserManagerBean {
// joomla login as separate thread
private class JoomlaLogin extends Thread {
private AuthJoomla authJoomla;
public JoomlaLogin(AuthJoomla authJoomla){
this.authJoomla = authJoomla;
}
@Override
public void run(){
this.authJoomla.authJoomla();
}
}
public void validateuser(){
AuthJoomla authJoomla = new AuthJoomla();
JoomlaLogin joomlaLogin = new JoomlaLogin(authJoomla);
joomlaLogin.start();
}
}
我在运行时得到java.lang.ClassNotFoundException:PGZUserManagerBean$JoomlaLogin
。我正在使用Java1.6
提前谢谢你的帮助。
al我强烈怀疑您将类文件从一个地方复制到了另一个地方(或将它们放在jar文件中),但您未能复制/包含
PGZUserManagerBean$JoomlaLogin.class
检查代码的运行位置,并查找JVM找不到的类文件。它肯定会出现在您的编译输出中。ClassNotFoundException仅在尝试使用class.forName或类似技术加载编译时未知的类时才会抛出,并且该类不存在。不确定,但可能是您的内部类是私有的,而使用它的方法是公共的。虽然应该生成编译错误,但值得一试。谢谢!你说得对,班级档案没有被复制,但我不是那个复制它的人。它是Eclipse,因为我正在通过Eclipse在Tomcat上部署它。所以我现在的问题是,它没有正确部署。