Spring boot: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: нераспознанное поле "XX" в WebSphere - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть приложение с загрузочной пружиной, которое выполняет реверс Swagger Yaml:

<plugin>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
        <execution>
            <id>generate-swagger-java</id>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>${basedir}/src/main/resources/swagger/cview.yaml</inputSpec>
                <apiPackage>client.api</apiPackage>
                <modelPackage>client.model</modelPackage>
                <output>${project.build.directory}/generated-sources</output>
                <language>java</language>
                <configOptions>
                    <dateLibrary>java8</dateLibrary>
                    <library>jersey2</library>
                </configOptions>
            </configuration>
        </execution>
    </executions>
</plugin>

Работает с основным классом, оно хорошо работает

public static void main(final String[] args) {
 SpringApplication.run(SpringBootApp.class, args);
}

Но когда язапустить его с SpringBootServletInitializer на WebSphere libertyCore, он зависает и выдает мне те ошибки, когда я пытаюсь вызвать веб-сервис:

org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "id_entite" (Class client.model.GaEj), not marked as ignorable

Problem with reading the data, class client.model.SearchResultGaEj, ContentType: application/json;charset=UTF-8

проблема в том, что у меня нет никакой зависимости с org.codehaus.jackson.*

Я использую только com.fasterxml.jackson.datatype

1 Ответ

0 голосов
/ 13 февраля 2019

По умолчанию WebSphere использует Codehaus Jackson ( ссылка ).WebSphere использует два режима загрузки классов : Parent first и Parent last.Вы должны быть уверены, что приложение использует Jackson из FasterXML , а не из Codehause.Spring Boot не имеет собственных управляемых библиотек, но WebSphere - это Application Server, который предоставляет множество уже подключенных библиотек, поэтому вам не нужно предоставлять их в ваше приложение.

См .:

  1. Поймать исключение JsonProcessingException от Джексона в Websphere Liberty
  2. Изменить поставщика JSON по умолчанию на сервере приложений WebSphere
  3. Переопределить сопоставление объектов Джексонасвойств в Websphere 8.5.5 с использованием Apache Wink
  4. Как изменить версию Джексона в приложении JAX-RS (WebSphere Liberty)
...