我有两个ClassLoader加载相同的类.所以,显然这些不能相互投射.但是我需要访问在另一个ClassLoader中创建的对象.
我可以访问两个ClassLoader.如何在其他类中使用该对象?我不需要将对象转换为与当前ClassLoader匹配.
但问题是返回的对象的类型是Object.所以,我必须抛弃该对象来访问某些方法.我怎样才能做到这一点?像下面这样的正常转换会导致ClassCastException,我已经知道了.
Mojo mojo = (Mojo) descriptor.getMojo();
Run Code Online (Sandbox Code Playgroud)
descriptor#getMojo()返回一个类型的对象,Mojo但该方法返回Object.怎么办呢?
如果您需要进一步的信息,请告诉我.
我已经阅读了有关类加载的所有理论,但没有一个为此指定了适当的解决方案.
谁能解释一下plexus-classworlds和(普通)classworlds之间的区别?
这两个令人困惑,看不出差异.Plexus classworlds几乎没有描述.显然,基于maven的Java项目使用两者,我不明白为什么.
有没有可能用plexus-classworld取代classworlds而没有太多麻烦?