jackson-dataformat-xml 을 jackson-databind 2.12.7 로 치환

XmlMapper 사용처는 0건이지만 transformer 의 유일한 jackson 공급원이라 제거가 아닌
치환이 필요하다. compileOnly 라 컴파일은 2.13.1 / 런타임은 2.12.7 인 skew 가 있었고,
이 때문에 2.13 전용 API 가 컴파일만 통과했다
(JacksonUtil.setValue 의 ArrayNode.set(int, String) -> 런타임 NoSuchMethodError).
This commit is contained in:
curry772
2026-08-27 18:10:47 +09:00
parent 0c048a88fe
commit d20ac6290b
+10 -3
View File
@@ -56,8 +56,16 @@ dependencies {
api group: 'org.apache.commons', name: 'commons-pool2', version: '2.11.1'
api 'commons-codec:commons-codec:1.15'
//api group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: '2.13.1'
compileOnly group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: '2.13.1'
// jackson-dataformat-xml(2.13.1) 을 jackson-databind 로 치환 (2026-08-27)
//
// XmlMapper/JacksonXml* 사용처는 전 소스에 0건이지만, 이 아티팩트가 transformer 의
// 유일한 jackson 공급원이었다(전이로 jackson-core/databind 2.13.1 을 끌고 옴).
// 그런데 compileOnly 라 WAR 에는 안 들어가고, 런타임은 Ignite 가 끌고 오는 2.12.7 이다.
// 이 컴파일(2.13.1)/런타임(2.12.7) skew 때문에 2.13 전용 API 가 컴파일을 통과했고,
// 실제로 JacksonUtil.setValue() 가 ArrayNode.set(int, String)(2.13 신규)을 써서
// 배열 경로 setText() 시 NoSuchMethodError 가 나는 상태였다.
// 런타임에 실제 존재하는 버전을 명시해 컴파일/런타임을 일치시킨다.
api group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.12.7'
compileOnly group: 'xalan', name: 'xalan', version: '2.6.0'
@@ -78,7 +86,6 @@ dependencies {
//testImplementation files("libs/json-simple-1.1.1-custom-1.2.jar")
//testImplementation files("libs/jep-4.j18-md-1.0.jar")
testImplementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: '2.13.1'
testImplementation 'junit:junit:4.4'
}