From d20ac6290b17ae8dbd2ae93973037d28c3f77912 Mon Sep 17 00:00:00 2001 From: curry772 Date: Thu, 27 Aug 2026 18:10:47 +0900 Subject: [PATCH] =?UTF-8?q?jackson-dataformat-xml=20=EC=9D=84=20jackson-da?= =?UTF-8?q?tabind=202.12.7=20=EB=A1=9C=20=EC=B9=98=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit XmlMapper 사용처는 0건이지만 transformer 의 유일한 jackson 공급원이라 제거가 아닌 치환이 필요하다. compileOnly 라 컴파일은 2.13.1 / 런타임은 2.12.7 인 skew 가 있었고, 이 때문에 2.13 전용 API 가 컴파일만 통과했다 (JacksonUtil.setValue 의 ArrayNode.set(int, String) -> 런타임 NoSuchMethodError). --- build.gradle | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 14bb34c..81dc653 100644 --- a/build.gradle +++ b/build.gradle @@ -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' }