作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一个 EAR 包含 2 个 WAR(WAR1、WAR2),这两个 WAR 都有一个依赖 jar (JAR1)。
JAR1 有一个类 (CLASS1),其中有一个静态字段 private String STATIC1 = "DEFAULT_VAL";
这适用于 WAR2,但不适用于 WAR1。所以我在WAR1中添加了一个服务来修改它:
@Service
public class ModService {
@PostConstruct
public void modMyVal() {
Field declaredField = CLASS1.class.getDeclaredField("STATIC1");
declaredField.setAccessible(true);
declaredField.set(this, "NEW_VAL_FOR_WAR1");
}
}
令我惊讶的是,WAR2 中一切正常。我原以为 WAR2 会有 NEW_VAL_FOR_WAR1。两个 WAR 都加载到同一个 Ear、jvm、服务器中 - 它们都依赖于同一个 jar。 WAR2 的静态字段如何未更改?
其他一些提示:
最佳答案
两个 WAR 都有自己的类加载器。为每个 WAR 从 JAR 加载一次类将为您提供 2 个 Class
实例,因此您的 WAR 可以看到成员变量的“它们的版本”,而不是像您期望的那样共享状态。
你也可以想象这种黑客行为会导致什么样的错误,所以我会避免养成这种习惯。
关于java - 使用耳内反射改变静态场,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50248132/
我想通过耳机播放音乐文件, 我现在正在做的是: 在 viewDidLoad 方法中:::: [[AVAudioSession sharedInstance] setCategory:AVAudioSe
我正在寻找一个 opencv 函数(在 python 中)检测人脸上的左耳 - 下巴 - 右耳(看起来像抛物线)线。有没有什么 haarcascade 在做这项工作?我已经知道正面或眼睛 haarca
我是一名优秀的程序员,十分优秀!