zak*_*mck 5 java remoteobject classpath classloader
抱歉,也许这个问题太愚蠢或已经回答了,但我找不到。
我想知道是否有一些已知的 Java 类加载器能够接受类路径中的远程文件,即像 CLASSPATH="http://somewhere.net/library.jar:..." 这样的条目。
请注意,我不是在谈论小程序或 Java Web Start。考虑一个可以使用不同后端(例如 MySQL、Oracle)的应用程序,我想根据用户的后端偏好在 shell 脚本中准备类路径,并让类加载器下载所需的jar(本例中的 jdbc 驱动程序)来自分发服务器。我也不是在谈论 Maven(用户只是获得二进制分发版,我不想强迫他们从源代码构建他们需要的东西)。
这SystemClassLoader
是一个URLClassLoader
. 你可以尝试一下,我留给你:
Method method = URLClassLoader.class.getDeclaredMethod("addURL", new Class[]{URL.class});
method.setAccessible(true);
method.invoke(ClassLoader.getSystemClassLoader(), new Object[]{new URL("http://somewhere.net/library.jar")});
Class.forName("your.remote.ClassName");
Run Code Online (Sandbox Code Playgroud)
让我知道 :)