注意:我对编程不是很熟悉,我希望你不介意我对术语的不正确使用。 :-)为什么远程加载类时会出现IllegalAccessError?
我尝试远程加载类。看起来该类可以正确下载并启动,但在调用其中一个方法时会出现IllegalAccessError错误。这是我在本地做的,这个工作100%没有错误。
(Parent) instance = (Parent)Class.forName("somepackage.ChildClass").newInstance();
instance.callSomeMethod();
这就是我做的远程加载它。这给出了一个IllegalAccessError,更具体 “试图从类ChildClass访问现场Parent.field”
URLClassLoader classLoader = new URLClassLoader(new URL[] { new URL("http://mysite.com/classes/") });
(Parent) instance = (Parent)classLoader.loadClass("somepackage.ChildClass").newInstance();
instance.callSomeMethod();
也请注意,所有的本地类是相同的远程/互联网的人,而我不希望下载并将该文件保存到我的类路径中。