无法在不同的包中加载类

时间:2012-12-25 22:04:53

标签: java reflection

我正在尝试访问另一个包中的类但它不起作用。它一直告诉我ClassNotFoundException。 当我使用与Class.forName("x.testClazz")类相同的包中的类调用TestGenerator时,它可以工作。

package x;
public class TestGenerator {
    public static void main(String[] args) {
        try {
            Class<?> cls = Class.forName(
                "atv12.randomtesting.integration.classes.EasyBranch");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

任何解决方案?

1 个答案:

答案 0 :(得分:-1)

您可以尝试使用此代码

package org.benson.another;
public class TestIt {
public void sayHello(){
    System.out.println("hello");
}
}

TestIt类是

 package org.benson.test;
    import org.benson.another.TestIt;
    public class TestLoadClass {
    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        ((TestIt)Class.forName("org.benson.another.TestIt").newInstance()).sayHello();
    }
    }

并尝试比较与您的代码不同的内容,也许您会找到解决方案