#spring-boot #spring-cloud-contract #netflix-nebula-plugins
#весенняя загрузка #spring-cloud-contract #netflix-nebula-плагины
Вопрос:
Я сталкиваюсь со странной ошибкой, я хочу использовать nebula.release
плагин в Gradle. Я успешно добавил его обоими следующими способами:
plugins {
id 'nebula.release' version '6.3.5'
}
и
dependencies {
classpath 'com.netflix.nebula:nebula-release-plugin:6.3.4'
}
apply plugin: 'nebula.release'
Однако, несмотря ни на что, когда я добавляю следующую строку classpath для spring-cloud-contracts
:
classpath "org.springframework.cloud:spring-cloud-contract-gradle-plugin:2.1.0.RELEASE"
Это выдает мне следующую ошибку:
An exception occurred applying plugin request [id: 'nebula.release', version: '6.3.5']
> Failed to apply plugin [id 'nebula.release']
> No signature of method: org.eclipse.jgit.internal.storage.file.FileRepository.getRef() is applicable for argument types: (java.lang.String) values: [HEAD]
Possible solutions: getAt(java.lang.String), getFS(), grep(), exactRef(java.lang.String), findRef(java.lang.String), getAllRefs()
Я вообще не уверен, почему добавление этой зависимости нарушает так много вещей, любая помощь была бы отличной!
Комментарии:
1. Скорее всего, у вас несоответствие в версиях gradle / groovy. Какую версию gradle вы используете?
2. @MarcinGrzejszczak для меня, на самом деле, то же самое. Я использую gradle 5.1; плагин nebula.release в версии 6.3.3; и плагин spring cloud contract в версии 2.2.4.RELEASE
3. У вас есть образец, который вы могли бы загрузить?
4. @MarcinGrzejszczak sure. Воспроизведено в этом репозитории с помощью github pipelines: github.com/athlan/spring-cloud-contract-nebula-example
5. Наконец, решено. Опубликованный ответ на этот вопрос.
Ответ №1:
Попробуйте перенести ваш плагин Nebula на более позднюю версию, например, на 15.1.0.
Пример проекта:https://github.com/athlan/spring-cloud-contract-nebula-example
Подробное описание:
Spring Cloud Contract поставляет более новую версию библиотеки jgit (по сравнению с версией nebula, на которую вы ссылались), где вышеупомянутый метод устарел и в более новой версии окончательно удален.