ClassNotFoundException: net.minidev.json.JSONObject
Возникает ошибка при попытке добавить зависимость spring-security-oauth2-client.
Caused by: java.lang.ClassNotFoundException: net.minidev.json.JSONObject
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
at org.springframework.security.oauth2.client.registration.ClientRegistrations.lambda$oidc$0(ClientRegistrations.java:164) ~[spring-security-oauth2-client-6.1.8.jar:6.1.8]
json-smart
добавлен в зависимости
dependencies {
...
implementation 'net.minidev:json-smart:2.5.1'
...
}
Так же в проект подключен bom: org.camunda.bpm:camunda-bom
api(enforcedPlatform('org.camunda.bpm:camunda-bom:7.20.0'))
И подключена соответствующая зависимость camunda.spin.dataformat
:
dependencies {
...
implementation 'camunda.spin.dataformat'
implementation 'net.minidev:json-smart:2.5.1'
...
}
Обратил внимание на то что внутри используется конструкция relocations
( https://github.com/camunda/camunda-bpm-platform/blob/3f6cb3055232c0fa9958e7a351af6ea0eafd7bb2/spin/dataformat-all/pom.xml#L79 )
pom.xml:
...
<relocations>
<relocation>
<pattern>net.minidev</pattern>
<shadedPattern>spinjar.com.minidev</shadedPattern>
</relocation>
...
</relocations>
...
И действительно JSONObject можно вызвать по пути spinjar.com.minidev.json.JSONObject
.
Как можно провернуть этот фарш назад ? Чтобы spinjar.com.minidev.json.JSONObject
стал снова net.minidev.json.JSONObject
?
Ответы (1 шт):
Оказалось, что я сам себе навредил.
Когда то исключил данную либу ( json-smart
) из проекта.
И причем исключил по одному только называнию зависимости. И забыл.
...
configurations {
configureEach {
...
exclude module: 'json-smart'
...
}
}
...
Искал где исключается зависимость и искал по названию группы net.minidev
. Соответственно ничего не мог найти. Нашел ту штуку с <relocations>
, сделал неправильные вывод и запутался.
Убрал лишний exclude
и все заработало.