java - 在 session 中调用对象的方法而不进行类型转换

标签 java jakarta-ee

我有一个可插入 5 个项目的 jar (xyz.jar),当任何人登录到这 5 个名为“loginObject”的应用程序中的任何一个时,所有项目都会在 session 中创建一个对象,我必须在“中的 session 中使用这个对象” xyz.jar”,但 LoginObject 类位于主项目中,因此我无法将其类型转换为“loginObject”类。

EGlobalLoginBean loginObject=(EGlobalLoginBean ) httpSession.getAttribute("loginObject");

现在类“EGlobalLoginBean”位于主项目中而不是“xyz”中,因此我无法对其进行类型转换,并且由于无法进行类型转换,因此我无法调用它的方法。 我无法将主项目作为依赖项目添加到“xyz”中,因为它应该以相反的方式发生。

我们非常感谢所有建议。

最佳答案

恕我直言,你必须解决这个问题

  1. 将 .class 文件复制到 xyz.jar 的 web-inf/classes(如果它是 Web 应用程序),或者将其添加到服务器的类路径(不好,但它会起作用)。无论哪种方式,您都必须提取 .class 文件(及其依赖项)。

  2. 使用 URL 类加载器加载 .class 文件,让它实现一个公共(public)接口(interface)并使用该接口(interface)调用它的方法。

关于java - 在 session 中调用对象的方法而不进行类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28317940/

相关文章:

java - 一旦我关闭 swing java 程序中的几个窗口之一,程序执行就会停止

java - 如何重新加载我的类以使该堆栈跟踪消失?

java - 泽西 (REST) 子资源 CDI

java - request.getSession().getId() 与 request.getRequestedSessionId()

jakarta-ee - 如何避免在 WAR 中打包的依赖项 JAR 中进行 EJB 注释扫描?

java - 将 Spring MongoDB AggregationResults ArrayList 映射到 List<POJO>

java - org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite异常: IncompatibleClassChangeError: Implementing class

java - {WebElement}.getAttribute ("value") 返回 0

java - 无法从oracle 11g数据库读取表

java - 为了验证一个对象,我可以将不同的对象传递给同一个方法吗?