我有一个执行反向Swagger
Yaml
的spring boot应用程序:
<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
运行它时,它会卡住,并在尝试调用Web服务时给我这些错误:
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
答案 0 :(得分:0)
默认情况下,players
使用assume_unique=True
(reference)。 WebSphere
使用两个Class-loader modes:Codehaus Jackson
和WebSphere
。您需要确保应用程序使用FasterXML中的Parent first
,而不是Parent last
中的Jackson
。 Codehause
没有自己的托管库,但是Spring Boot
是WebSphere
,它提供了许多已连接的库,因此您无需为它们提供应用程序。
请参阅: