Мы находимся в процессе обновления нашего приложения grails 2.0.3
до grails 2.2.0
с groovy 2 и jdk 1.7. Однако мы обнаружили, что grails 2.2.0
поставляется с protobuf-java 2.4.1
, что вызывает несоответствие с банкой, которую наше приложение использует для связи с серверной частью. Эта система использует protobuf-java 2.3.0
. Таким образом, любая связь с этой системой терпит неудачу.
Мы попытались исключить protobuf-java с помощью тега excludes в BuildConfig.groovy следующим образом:
inherits("global") { excludes 'protobuf-java' }
Мы думали, что это исключит только версию 2.4.1, которую мы получили от Grails. Однако это, похоже, исключает все версии этого jar-файла, даже ту, которую мы получаем как транзитивную зависимость от используемого нами jar-файла. Если мы попытаемся использовать тег excludes, а затем включим protobuf-java в качестве зависимости в наш pom с версией 2.3.0, перезапуск приложения завершится ошибкой grails.
Мои вопросы:
Есть ли способ исключить только конкретную версию protobuf-java jar (т.е. 2.4.1), используя jar excludes
Исключает ли одна из унаследованных зависимостей Grails (в нашем случае protobuf java 2.4.1) и рекомендуется использовать более раннюю версию
Если исключение не вариант, есть ли другой лучший способ решить эту проблему