0
我想测试我的类CallingClass的新版本是否仍然适用于我的jar,即使类已经在它之后编译。通过loader.loadClass调用早期的NoSuchMethodError()
在我的情况下,CallingClass.m1()调用了一个方法CalledClass.method(),它不存在于jar中。代码的执行导致NoSuchMethodError。
需要一个解决方案来再次测试类CallingClass的jar,但在执行之外。
我曾尝试以下
public class ResolvingClassLoader extends ClassLoader
{
public Class<?> loadClass(String name) throws ClassNotFoundException
{
return loadClass(name, true);
}
public static void main(String[] args) throws Exception
{
final ResolvingClassLoader loader = new ResolvingClassLoader();
final String className = "CallingClass";
loader.loadClass(className);
}
}
和有希望的loadClass的调用产生的NoSuchMethodError,因为它解决了(即链接)的类。事实并非如此。你知道如何生成“早期”NoSuchMethodError吗?