从 Wildfly-8.1.0.Final 升级到 Wildfly-17.0.1.Final
class Parent {
String prop1;
public Parent(String prop1) {
this.prop1 = prop1;
}
}
class Child extends Child {
String prop2;
public Child(String prop1, String prop2) {
super(prop1);
this.prop2 = prop2;
}
}
在控制器层
public Parent getDetails() {
return serviceImpl.getDetails();
}
在服务层
public Child getDetails() {
return new Child("String1", "String2");
}
从 Wildfly 8,我们得到
{
"prop1": "String1",
"prop2": "String2"
}
但是从 Wildfly 17 开始,我们得到了
{
"prop1": "String1"
}
我们认为这可能是由于 Jackson 库,所以我们在使用 Wildfly 17 运行时将 pom.xml 中的 jackson 库版本更改为 2.3.2,但它仍然以相同的方式出现
我们也尝试将 Jackson 2.9.8 与 Wildfly 8 一起使用,但 WF8 仍然返回了两个属性“prop1”和“prop2”
我们正试图找到造成这种情况的根本原因,它是否与 WF17 的内部实现有关,或者我们在这里遗漏了其他东西?
已编辑
我们还尝试了另一件事:我们尝试在独立的 Java 代码上重现 Jackson 库的问题,但我们无法重现此问题。
虽然它仍然与 Wildfly 8 或 Wildfly 17 一起运行时与 Jackson 2.6.0 以上版本一起运行,但直到 2.5.5 才出现。