You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
swagger-annotations api dependency conflicts with swagger-annotations-jakarta #796
This pulls the javax-oriented Swagger annotations artifact onto every consumer classpath as a hard dependency.
Many Jakarta EE / Spring Boot 3 applications already depend on io.swagger.core.v3:swagger-annotations-jakarta (e.g. via springdoc-openapi). Those two artifacts are mutually exclusive: they share the package io.swagger.v3.oas.annotations, so having both on the classpath causes duplicate-class / split-package conflicts.
Why this is surprising
The SDK itself does not need these annotations at compile time for its own types. Structured Outputs uses com.github.victools:jsonschema-module-swagger-2, which already declares swagger-annotations as provided. The annotations are only needed when consumers annotate their schema classes with @Schema / @ArraySchema (as documented in the README).
Re-exporting them as api is convenient, but it forces one of two incompatible coordinates onto ecosystems that already chose the other.
Workaround
Exclude the transitive dependency and keep the jakarta artifact:
Activity
fix(deps): make swagger-annotations compileOnly to avoid jakarta conf…