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:
+10
-3
@@ -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'
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user