我正在尝试更新我的 Jackson 版本6.4.20 JBoss补丁 https://www.redhat.com/archives/rhsa-announce/2018-May/msg00028.html。我在用着org.codehause.jackson
,并且 JBoss 6.4.x 不为较新的版本提供隐式依赖关系com.fasterxml.jackson
据我所知。
假设是否合适jackson-mapper-asl-1.9.9.redhat-6
是用于的有效包这个补丁 https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl/1.9.9.redhat-6?当滚动到 noarch 部分时6.4.20公告 https://www.redhat.com/archives/rhsa-announce/2018-May/msg00028.html, I see codehaus-jackson-mapper-asl-1.9.9-12.redhat_6
提及。这是否意味着这是推荐的版本?我可以看到它是在 2018 年 5 月 14 日发布的,并且是在 2018 年 5 月 15 日发布的。
目前我遇到以下错误codehause-jackson-mapper-asl
与....关联fasterxml-jackson-databind
,让我相信我使用了错误的版本。
16:01:22,620 错误 [org.jboss.resteasy.resteasy_jaxrs.i18n] (http-127.0.0.1:8080-1) RESTEASY000100: 执行 POST /find 失败: org.jboss.resteasy.spi.ReaderException:
org.codehaus.jackson.map.JsonMappingException:要反序列化的非法类型[...]:出于安全原因而被阻止
[...]
引起原因:org.codehaus.jackson.map.JsonMappingException:要反序列化的非法类型[...]:出于安全原因而被阻止在 org.codehaus.jackson.map.deser.BeanDeserializerFactory.checkLegalTypes(BeanDeserializerFactory.java:1521) [jackson -mapper-asl-1.9.9.redhat-6.jar:1.9.9.redhat-6]
`
我最近从 JBoss EAP 6.3.0 升级到 6.4.20 并遇到了同样的异常。
在异常的堆栈跟踪之后,我发现有必要设置系统属性jackson.deserialization.whitelist.packages
包含要反序列化的类的完整类名。
如果您愿意,可以只输入包的后缀。对于多个值,用逗号分隔。您可以在jackson-mapper-asl-1.9.9.redhat-6.jar
class org.codehaus.jackson.map.deser.BeanDeserializerFactory
第 38 至 45 行。
对于 JBoss 环境,您可以在中定义系统属性standalone*.xml
or domain.xml
, 如下:
<system-properties>
<property name="jackson.deserialization.whitelist.packages" value="br.com.myapp" />
</system-properties>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)