是否可以在 Java 中克隆 class?

Is it possible to clone a class in Java?

我当前的 Web 服务器配置中有这个整体式 JAR。整个系统的绘制方式使您无法拥有单独的网络应用程序,一切都围绕着这个大罐子运行。

在解决这个问题的过程中,我试图从原始安全包(我有源代码)中取出sso认证,我正在处理的问题与一个Usuario有关class。

据我了解,原来的class会设置一个'usuario'属性,从tokenid

获取属性后
usuario = ssoUtil.getAtributosUsuario(tokenId);

httpSession.setAttribute("usuario", usuario);
httpServletRequest.setAttribute("usuario", usuario);

我将 Usuario class 更改为 UsuarioSSO,并将整个身份验证实现为全局服务器过滤器 - 因为项目要求没有身份验证就不可能在服务器上发布任何内容。

实际的 Usuario class - 设置的那个 - 只是一堆私有变量、getter、setter 和两个实现 classes Serializable 和 HttpSessionBindingListener 的方法。

当原始 INTL 问题中的任何 class 尝试从 httpSession 获取 Usuario 属性时,就会出现此问题:

java.lang.ClassCastException: pathToClass.UsuarioSSO cannot be cast to intlPathToClass.Usuario

我想要实现的是让这个演员阵容发挥作用。但是似乎不可能进行沮丧,即使 class 两个是相同的。

仅供参考,我可以随意更改 INTL Usuario class,但我无法更改实际使用它的代码 class,如果我可以更改所有引用,一切都会正常到 INTL Usuario 到 UsuarioSSO。

有什么建议吗?

我同意埃里克森的评论。您可以将 class 移动到单独的 jar。您仍然可以保留原始包名称。

两个jar可以使用相同的包名。唯一会变得奇怪的是那些包是否具有相同的 classes。但是如果你移动 Usuario class.

应该是个问题