#java #gradle #spring-security #compilation
#java #gradle #spring-security #Сборник
Вопрос:
Мне нужно создать Spring security из исходного кода для моих экспериментов. Я выполнил команду $./gradlew install
, следуя ее руководству в github github: spring-security. Однако он возвращает следующие ошибки:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':spring-security-config:compileKotlin'.
> Could not resolve all files for configuration ':spring-security-config:kotlinCompilerClasspath'.
> Could not resolve org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.10.
Required by:
project :spring-security-config
> Could not resolve org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.10.
> Could not get resource 'https://repo.spring.io/libs-snapshot/org/jetbrains/kotlin/kotlin-compiler-embeddable/1.4.10/kotlin-compiler-embeddable-1.4.10.pom'.
> Could not HEAD 'https://repo.spring.io/libs-snapshot/org/jetbrains/kotlin/kotlin-compiler-embeddable/1.4.10/kotlin-compiler-embeddable-1.4.10.pom'. Received status code 401 from server: Unauthorized
> Could not resolve org.jetbrains.kotlin:kotlin-bom:1.4.10.
Required by:
project :spring-security-config
> Could not resolve org.jetbrains.kotlin:kotlin-bom:1.4.10.
> Could not get resource 'https://repo.spring.io/libs-snapshot/org/jetbrains/kotlin/kotlin-bom/1.4.10/kotlin-bom-1.4.10.pom'.
> Could not GET 'https://repo.spring.io/libs-snapshot/org/jetbrains/kotlin/kotlin-bom/1.4.10/kotlin-bom-1.4.10.pom'. Received status code 401 from server: Unauthorized
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 3m 53s
В чем причина? Как это исправить?
Ответ №1:
Проблема заключается в ошибке Gradle:
Получен код состояния 401 с сервера: несанкционированный
Проект пытается разрешить зависимости с помощью https://repo.spring.io/libs-snapshot который отклоняется со 401
статусом HTTP.
Вероятно, это сбой из-за недавних ограничений, введенных командой Spring infrastructure. Подробнее см. Сообщение в блоге: https://spring.io/blog/2020/10/29/notice-of-permissions-changes-to-repo-spring-io-fall-and-winter-2020
Потенциальным решением является изменение репозиториев проекта таким образом, чтобы использовались общедоступные репозитории, такие как Maven Central или JCenter. Более подробную информацию см. в документации Gradle.
Нет никаких гарантий, что это сработает, если для сборки Spring Security требуются артефакты, доступные только в закрытых репозиториях Spring.