На самом деле, ваш код должен зависеть только от API jakarta.json.bind-api
, поэтому вы не можете случайно использовать детали реализации из yasson
, например, внутренний org.eclipse.yasson.internal.ReflectionUtils
.Для этого вы должны добавить <scope>runtime</scope>
к вашей yasson
зависимости.Только для его запуска вам нужна реализация, и вы выбрали эталонную реализацию yasson
.
Но JSON-B - это просто слой поверх JSON-P : он выполняет связывающую часть, в то время как делегирует всю необработанную обработку JSON JSON-P.Вы можете смешивать и сопоставлять любую реализацию JSON-B с любой реализацией JSON-P.
Поскольку yasson
должен уметь работать с любой реализацией JSON-P, он не может иметь жесткую зависимость от:например, Glassfish JSON-P;Вы должны указать это самостоятельно (также с областью действия runtime
).В сообщении об ошибке упоминается Glassfish, поскольку это резервная реализация, которую ищет JSON-P.