【发布时间】:2012-10-19 15:23:58
【问题描述】:
可能重复:Setting CLASSPATH during runtime
获取我正在使用的类路径:
ClassLoader cl = ClassLoader.getSystemClassLoader();
URL[] urls = ((URLClassLoader)cl).getURLs();
for(URL url: urls){
System.out.println("classpath:"+url.getFile());
}
有人可以帮我编写代码以在运行时将 jar 加载到类路径中吗?
ClassLoader currentThreadClassLoader
= Thread.currentThread().getContextClassLoader();
URLClassLoader urlClassLoader
= new URLClassLoader(new URL[]{new File("D:\\ms.jar").toURL()},
currentThreadClassLoader);
Thread.currentThread().setContextClassLoader(urlClassLoader);
这似乎行不通。
【问题讨论】:
-
在应用程序启动之前适当地设置 CLASSPATH 并使 JAR 成为其中的一部分。我看不出这还不够的原因。 JAR 的运行时加载适用于应用服务器,而不是你和我。
-
如果我开发一个加载插件的应用程序,将使用建议的机制并且类路径可能很重要
-
“这似乎行不通。”。例外?
-
@Alban 虽然不是 1:1 副本,但绝对是他在“谷歌搜索”时应该找到的答案。
标签: java