diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java index 72fae808ce..a0944b5bda 100644 --- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java +++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java @@ -31,6 +31,7 @@ import java.lang.annotation.Annotation; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.logging.Logger; import javax.annotation.PostConstruct; @@ -99,7 +100,14 @@ private List filterModules() { commonConfig.getRuntimeType(), CommonProperties.JSON_JACKSON_ENABLED_MODULES, String.class); - final List modules = ObjectMapper.findModules(); + final List modules; + try { + modules = ObjectMapper.findModules(); + } catch (Exception e) { + LOGGER.warning(LocalizationMessages.ERROR_MODULES_NOT_LOADED(e.getMessage())); + return Collections.emptyList(); + } + modules.removeIf(mod -> mod.getModuleName().contains(EXCLUDE_MODULE_NAME)); if (enabledModules != null && !enabledModules.isEmpty()) { diff --git a/media/json-jackson/src/main/resources/org/glassfish/jersey/jackson/localization.properties b/media/json-jackson/src/main/resources/org/glassfish/jersey/jackson/localization.properties index f8b59da71c..a9144fd496 100644 --- a/media/json-jackson/src/main/resources/org/glassfish/jersey/jackson/localization.properties +++ b/media/json-jackson/src/main/resources/org/glassfish/jersey/jackson/localization.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2023, 2024 Oracle and/or its affiliates. All rights reserved. # # This program and the accompanying materials are made available under the # terms of the Eclipse Public License v. 2.0, which is available at @@ -14,4 +14,5 @@ # SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 # -error.jackson.streamreadconstraints=Error setting StreamReadConstraints: {0}. Possibly not Jackson 2.15? \ No newline at end of file +error.jackson.streamreadconstraints=Error setting StreamReadConstraints: {0}. Possibly not Jackson 2.15? +error.modules.not.loaded=Jackson modules could not be loaded: {0} \ No newline at end of file