【发布时间】:2011-04-17 02:30:07
【问题描述】:
我有一种情况,我必须加载一个命名类。如果在我的类路径中有多个具有相同名称的类(例如com.example.myclass),我必须同时加载它们。我正在使用派生自java.lang.ClassLoader 的CustomLoader 类的“loadClass()”方法。我没有改变父类的行为,只是调用了父类的方法。我的问题是,如果有两个同名的类,我只能加载其中一个。我已经在网上扫描了解决方案,但没有找到任何解决方案。我通过创建一个新的类加载器实例找到了许多关于重新加载类的解决方案,但在我的情况下,新实例可能最终会再次加载第一个类。这个问题能解决吗?
编辑:我忘了提到同名的两个类在不同的 jar 文件中。
编辑:乔恩和斯蒂芬都给出了相同的解决方案,但我只能将一个标记为答案。抱歉:(。不过我对这两个答案都投了赞成票。
【问题讨论】:
标签: java class classloader conflict