java - 无法获取静态字段的值

标签 java class jakarta-ee static

我创建了一个名为 A 的 Java 项目,其中有一个带有一些静态字段的类 X。该类实现单例模式。

然后我创建了简单的 Web 项目 W1,在其中创建了一个 servlet S1。该 servlet 正在初始化类 X(项目 A 的)的静态字段。

然后我创建了另一个 Web 项目 W2 和 servlet S2。现在我试图访问由 S1 (W1)创建和初始化的 Singleton 类的对象。但我没有获得 S1 分配的静态字段的值。

我在同一服务器中部署了所有 3 个项目。

有什么方法可以获取这些值吗?

最佳答案

通常,不同的 Web 应用程序在应用程序服务器上的不同类加载器中运行(由于类加载器隔离),因此实际上您正在使用 3 个不同的类(每个类由不同的类加载器加载),而不仅仅是一个。

关于java - 无法获取静态字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21169958/

相关文章:

java - 将图像上传到 Firebase 存储

java - 创建原始数据包以欺骗 UDP 数据包

java - 类的词法包含类型

c++ - 有条件地在类中创建成员

c++ - 如何在 DLL 中使用类?

java - EAP 7.3 JPA+Hibernate REST 双向 ManyToOne 关系序列化(非 SPRING)

java - 如何在无状态 session bean 中获取用户信息

java - 用于管理多个 Java Web 容器实例的工具?

java - 如何使用 Jackson dataformat.xml 在 java 中序列化 LookAndFeel 对象?

java - 为什么在启动 REST 服务时添加注释 FormDataParam 会引发异常?