java - 将 java 对象/类从一个类加载器复制到另一个类加载器

标签 java copy classloader javabeans

您好,有没有一种方法可以将一个类加载的上下文(属性等)从一个类加载器(例如“制作的”类点)复制到另一个类加载器?

明确地说, 例子: 我在 CL 1 上有一个对象点。 现在在另一个 CL2 上运行,我想在 CL 3 中创建这个对象。

一些对象:

class Point {
int x;
int y;
public Point() {}
//getters and setters

风景:

... 
class CL2 {

// Running on CL 2
...
// Point obj from CL 1
Object point = gotFromCL1();

// Want to create the object on Cl2
Object pointCL2 = point.conversion();

但我不能使用 sun.reflection(不可用)并且序列化不起作用,因为 CL2 会自动使用 CL 1“重建”对象。

我认为的一个解决方案是执行“100%”java 反射 rconstruct,基本上从 CL2 获取对象字段并在新对象上设置。

PS: 它需要在 Java 1.4.2 上运行:'(

最佳答案

参见 Transloader关于如何在类加载器之间复制类,如果您需要执行以下操作之一:

  • 克隆从一个类加载器到另一个类加载器的几乎任何对象图

  • 从外部 ClassLoader 获取任何对象并在其上调用任何方法而不克隆它

关于java - 将 java 对象/类从一个类加载器复制到另一个类加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1735714/

相关文章:

java - 非常简单的排序算法不起作用

java - 如何通过非硬编码 key 使用 Redshift COPY

iphone - 如何更改 UILongPressGestureRecognizer 上的图像?

java - JBOSS 6.0如何解决ear文件之间的类加载问题?

java - 将 JSON 反序列化为动态加载的类文件

java - 使用 try/catch 声明和初始化最终变量

java - Object类型的数组,并比较数组内的对象

Java - 将 java 代理注入(inject)运行的 jvm

java - Angular 前端、Java 后端在 Docker 上的最佳部署模式

c# - 有没有办法让这个 C# 代码自动覆盖文件?