Программисты JAVA общаются здесь
Anonymous
Java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()'
Сообщение
Anonymous » 06 дек 2024, 17:07
Я обновил Джексона с 2.16.1 до 2.18.2 в своем build.gradle:
Код: Выделить всё
plugins {
id 'java'
id 'jacoco'
id 'com.github.johnrengelman.shadow' version '8.1.1'
id "org.sonarqube" version "${sonarqubeVersion}"
}
ext {
awsLambdaJavaCoreVersion = '1.2.3'
awsLambdaEventsVersion = '3.12.0'
jacksonDatabindVersion = '2.18.2'
awsLambdaTransformerVersion = '3.1.0'
guavaVersion = '33.2.1-jre'
javaJwtVersion = '4.4.0'
}
dependencies {
implementation project(":fdx-6")
implementation (project(":common")) {
exclude group: 'org.springframework.boot'
exclude group: 'software.amazon.awssdk', module: 'url-connection-client'
}
implementation "software.amazon.awssdk:sqs"
implementation "software.amazon.awssdk:lambda"
implementation "org.springframework:spring-web"
implementation "org.springframework.security:spring-security-core:6.2.5"
implementation "com.amazonaws:aws-lambda-java-core:$awsLambdaJavaCoreVersion"
implementation "com.amazonaws:aws-lambda-java-events:$awsLambdaEventsVersion"
implementation "com.amazonaws:aws-lambda-java-events-sdk-transformer:$awsLambdaTransformerVersion"
implementation "com.amazonaws:aws-lambda-java-log4j2:1.6.0"
implementation 'com.amazonaws:dynamodb-lock-client:1.2.0'
implementation 'software.amazon.awssdk:dynamodb-enhanced'
implementation "com.fasterxml.jackson.core:jackson-core:$jacksonDatabindVersion"
implementation "com.fasterxml.jackson.core:jackson-databind:$jacksonDatabindVersion"
implementation "com.fasterxml.jackson.module:jackson-module-afterburner:$jacksonDatabindVersion"
implementation "com.nimbusds:nimbus-jose-jwt:${nimbusJoseVersion}"
implementation "io.netty:netty-codec-http:${nettyHttpVersion}"
implementation "com.google.guava:guava:$guavaVersion"
implementation "com.auth0:java-jwt:$javaJwtVersion"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonDatabindVersion"
implementation "com.nimbusds:nimbus-jose-jwt:${nimbusJoseVersion}"
//opentelemetry
compileOnly "io.opentelemetry:opentelemetry-api"
compileOnly "io.opentelemetry.instrumentation:opentelemetry-aws-lambda-events-2.2:${opentelemetryInstrumentationVersionAlpha}"
compileOnly "io.opentelemetry.instrumentation:opentelemetry-aws-sdk-2.2:${opentelemetryInstrumentationVersionAlpha}"
implementation "io.opentelemetry.instrumentation:opentelemetry-java-http-client:${opentelemetryInstrumentationVersionAlpha}"
implementation "com.amazonaws:aws-lambda-java-log4j2:1.6.0"
implementation 'org.apache.logging.log4j:log4j-layout-template-json:2.17.1'
compileOnly "org.projectlombok:lombok"
implementation "org.mapstruct:mapstruct:${mapStructVersion}"
annotationProcessor "org.projectlombok:lombok"
annotationProcessor "org.mapstruct:mapstruct-processor:${mapStructVersion}"
testImplementation 'com.amazonaws:aws-lambda-java-tests:1.1.1'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation "org.mapstruct:mapstruct:${mapStructVersion}"
testImplementation 'uk.org.webcompere:system-stubs-jupiter:2.1.6'
testImplementation "io.opentelemetry.instrumentation:opentelemetry-aws-sdk-2.2:${opentelemetryInstrumentationVersionAlpha}"
}
Теперь этот Java-код
Код: Выделить всё
@UtilityClass
public class ObjectMapperUtil {
public static final TypeReference STRING_OBJ_TYPE_REF = new TypeReference() {
};
public static final TypeReference STRING_STRING_TYPE_REF = new TypeReference() {
};
private static final ObjectMapper objectMapper = JsonMapper.builder()
.addModule(new JavaTimeModule())
.addModule(new AfterburnerModule())
.build();
public static String toJsonString(Object obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
throw new RuntimeException("Error converting object to JSON", e);
}
}
}
выдает java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()':
Код: Выделить всё
java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()'
at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:4059)
at com.c.o.common.utils.ObjectMapperUtil.toJsonString(ObjectMapperUtil.java:29)
Есть идеи, как это исправить без перехода на более раннюю версию зависимостей?
Подробнее здесь:
https://stackoverflow.com/questions/792 ... ferrecycle
1733494067
Anonymous
Я обновил Джексона с 2.16.1 до 2.18.2 в своем build.gradle: [code]plugins { id 'java' id 'jacoco' id 'com.github.johnrengelman.shadow' version '8.1.1' id "org.sonarqube" version "${sonarqubeVersion}" } ext { awsLambdaJavaCoreVersion = '1.2.3' awsLambdaEventsVersion = '3.12.0' jacksonDatabindVersion = '2.18.2' awsLambdaTransformerVersion = '3.1.0' guavaVersion = '33.2.1-jre' javaJwtVersion = '4.4.0' } dependencies { implementation project(":fdx-6") implementation (project(":common")) { exclude group: 'org.springframework.boot' exclude group: 'software.amazon.awssdk', module: 'url-connection-client' } implementation "software.amazon.awssdk:sqs" implementation "software.amazon.awssdk:lambda" implementation "org.springframework:spring-web" implementation "org.springframework.security:spring-security-core:6.2.5" implementation "com.amazonaws:aws-lambda-java-core:$awsLambdaJavaCoreVersion" implementation "com.amazonaws:aws-lambda-java-events:$awsLambdaEventsVersion" implementation "com.amazonaws:aws-lambda-java-events-sdk-transformer:$awsLambdaTransformerVersion" implementation "com.amazonaws:aws-lambda-java-log4j2:1.6.0" implementation 'com.amazonaws:dynamodb-lock-client:1.2.0' implementation 'software.amazon.awssdk:dynamodb-enhanced' implementation "com.fasterxml.jackson.core:jackson-core:$jacksonDatabindVersion" implementation "com.fasterxml.jackson.core:jackson-databind:$jacksonDatabindVersion" implementation "com.fasterxml.jackson.module:jackson-module-afterburner:$jacksonDatabindVersion" implementation "com.nimbusds:nimbus-jose-jwt:${nimbusJoseVersion}" implementation "io.netty:netty-codec-http:${nettyHttpVersion}" implementation "com.google.guava:guava:$guavaVersion" implementation "com.auth0:java-jwt:$javaJwtVersion" implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonDatabindVersion" implementation "com.nimbusds:nimbus-jose-jwt:${nimbusJoseVersion}" //opentelemetry compileOnly "io.opentelemetry:opentelemetry-api" compileOnly "io.opentelemetry.instrumentation:opentelemetry-aws-lambda-events-2.2:${opentelemetryInstrumentationVersionAlpha}" compileOnly "io.opentelemetry.instrumentation:opentelemetry-aws-sdk-2.2:${opentelemetryInstrumentationVersionAlpha}" implementation "io.opentelemetry.instrumentation:opentelemetry-java-http-client:${opentelemetryInstrumentationVersionAlpha}" implementation "com.amazonaws:aws-lambda-java-log4j2:1.6.0" implementation 'org.apache.logging.log4j:log4j-layout-template-json:2.17.1' compileOnly "org.projectlombok:lombok" implementation "org.mapstruct:mapstruct:${mapStructVersion}" annotationProcessor "org.projectlombok:lombok" annotationProcessor "org.mapstruct:mapstruct-processor:${mapStructVersion}" testImplementation 'com.amazonaws:aws-lambda-java-tests:1.1.1' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation "org.mapstruct:mapstruct:${mapStructVersion}" testImplementation 'uk.org.webcompere:system-stubs-jupiter:2.1.6' testImplementation "io.opentelemetry.instrumentation:opentelemetry-aws-sdk-2.2:${opentelemetryInstrumentationVersionAlpha}" } [/code] Теперь этот Java-код [code]@UtilityClass public class ObjectMapperUtil { public static final TypeReference STRING_OBJ_TYPE_REF = new TypeReference() { }; public static final TypeReference STRING_STRING_TYPE_REF = new TypeReference() { }; private static final ObjectMapper objectMapper = JsonMapper.builder() .addModule(new JavaTimeModule()) .addModule(new AfterburnerModule()) .build(); public static String toJsonString(Object obj) { try { return objectMapper.writeValueAsString(obj); } catch (JsonProcessingException e) { throw new RuntimeException("Error converting object to JSON", e); } } } [/code] выдает java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()': [code]java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()' at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:4059) at com.c.o.common.utils.ObjectMapperUtil.toJsonString(ObjectMapperUtil.java:29) [/code] Есть идеи, как это исправить без перехода на более раннюю версию зависимостей? Подробнее здесь: [url]https://stackoverflow.com/questions/79258187/java-lang-nosuchmethoderror-void-com-fasterxml-jackson-core-util-bufferrecycle[/url]