是否可以在每个子线程中有2个具有不同类路径的子线程?

时间:2010-08-19 13:37:24

标签: java multithreading jvm classpath conflict

我有一个“核心”应用程序,它是处理任务的适配器。每个任务都由核心在适配器负载中实现,以处理任务。

我的问题是,是否可以在每个适配器中使用不同的类路径来解决适配器之间的类/ jar冲突。

此致

3 个答案:

答案 0 :(得分:5)

事实上:

URLClassLoader cl = new URLClassLoader(urls);
Thread thread = new MyThread();
thread.setContextClassLoader(cl);
thread.start();

答案 1 :(得分:0)

使用Thread.currentThread().setContextClassloader()并使用所需的类路径创建一个新的URLClassLoader

答案 2 :(得分:0)

是的,你可以。使用Thread的setContextClassLoader方法。

检查以下链接(稍微陈旧但有用)以便更好地理解它:

http://www.javaworld.com/javaworld/javaqa/2003-06/01-qa-0606-load.html