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嗎?