Ошибка «Несанкционировано» (код состояния 401). При попытке опубликовать пакет Java с помощью Gradle. ⇐ JAVA
Ошибка «Несанкционировано» (код состояния 401). При попытке опубликовать пакет Java с помощью Gradle.
Начнем с того, что я новичок в работе с Gradle. Я пытаюсь опубликовать свою библиотеку как общедоступный пакет через пакеты github, которые я могу использовать в своих связанных проектах. Я следовал этому руководству с Github. Одна вещь, в которой я не совсем уверен, это то, нужно ли мне определять Group и/или ArticactId или как я могу их определить. Обратите внимание, что сам репозиторий является частным, но если сделать его общедоступным, результат будет тот же.
Мой build.gradle определяется следующим образом:
импортировать java.text.SimpleDateFormat плагины { идентификатор 'идея' идентификатор 'затмение' идентификатор 'java-библиотеки' идентификатор 'maven-publish' идентификатор 'edu.wpi.first.GradleRIO' версии '2023.+' } применить плагин: 'edu.wpi.first.GradleRIO' project.version = '1.0.0' репозитории { знаток { url = uri("https://maven.pkg.github.com/Mechanical ... vantageKit") реквизиты для входа { имя пользователя = "Mechanical-Advantage-Bot" пароль = "\u0067\u0068\u0070\u005f\u006e\u0056\u0051\u006a\u0055\u004f\u004c\u0061\u0079\u0066\u006e\u0078\u006e\u0037\u0051\u004 9\u0054\u0042\u0032\ u004c\u004a=" } } } конфигурации.все { исключить группу: "edu.wpi.first.wpilibj" } зависимости { группа реализации: «org.apache.commons», имя: «commons-math3», версия: «3.6.1» реализация wpi.java.deps.wpilib() реализация wpi.java.vendor.java() testImplementation('org.junit.jupiter:junit-jupiter-api:+') testImplementation('org.junit.jupiter:junit-jupiter-params:+') testRuntimeOnly('org.junit.jupiter:junit-jupiter-engine:+') } публикация { репозитории { знаток { name = "GitHubPackages" URL = uri("https://maven.pkg.github.com/Jelatinone/Nest") реквизиты для входа { имя пользователя = '$GITHUB_USERNAME' пароль = '$GITHUB_TOKEN' } } } публикации { гпр (MavenPublication) { из (компоненты.java) } } } банка { исключить ("main/java/nest/egg/**") манифест { атрибуты( 'Built-By': System.getProperty("user.name"), 'Build-Timestamp': new SimpleDateFormat("гггг-ММ-дд'Т'ЧЧ:мм:сс.SSSZ").format(новая дата()), 'Build-Jdk': "${System.properties['java.version']} (${System.properties['java.vendor']} ${System.properties['java.vm.version']}) ", 'Created-By': "Gradle ${gradle.gradleVersion}", «Название реализации»: project.name, «Версия реализации»: project.version) } } Джава { сJavadocJar() сSourcesJar() sourceCompatibility = JavaVersion.VERSION_16 targetCompatibility = JavaVersion.VERSION_16 } тест { использоватьJUnitPlatform() } Обратите внимание, что общедоступный пароль предназначен для обхода аутентификации GitHub при использовании пакета в другом проекте.
И мои настройки.gradle:
плагины { идентификатор 'org.gradle.toolchains.foojay-resolver-convention' версии '0.4.0' } rootProject.name = 'Гнездо' включить('lib') Еще один вопрос, вытекающий из include('lib'), который является именем папки, содержащей bin/, build/, src/,vendordeps/ и мой build.gradle. Однако, похоже, это создает два отдельных проекта Gradle, что заставляет меня задаться вопросом, смогу ли я вместо этого объединить их в один.
Возвращаясь к моему основному вопросу, запуск команды gradlePublish приводит к следующему:
Не удалось выполнить задачу ':lib:publishGprPublicationToGitHubPackagesRepository'. > Не удалось опубликовать публикацию «gpr» в репозитории «GitHubPackages». > Не удалось PUT «https://maven.pkg.github.com/Jelatinone ... -1.0.0.jar». Получен код состояния 401 от сервера: Не авторизовано. Я знаю, что мой токен имеет правильные авторизации (я дал ему все авторизации просто для проверки), так что же является причиной этого и как это исправить?
Начнем с того, что я новичок в работе с Gradle. Я пытаюсь опубликовать свою библиотеку как общедоступный пакет через пакеты github, которые я могу использовать в своих связанных проектах. Я следовал этому руководству с Github. Одна вещь, в которой я не совсем уверен, это то, нужно ли мне определять Group и/или ArticactId или как я могу их определить. Обратите внимание, что сам репозиторий является частным, но если сделать его общедоступным, результат будет тот же.
Мой build.gradle определяется следующим образом:
импортировать java.text.SimpleDateFormat плагины { идентификатор 'идея' идентификатор 'затмение' идентификатор 'java-библиотеки' идентификатор 'maven-publish' идентификатор 'edu.wpi.first.GradleRIO' версии '2023.+' } применить плагин: 'edu.wpi.first.GradleRIO' project.version = '1.0.0' репозитории { знаток { url = uri("https://maven.pkg.github.com/Mechanical ... vantageKit") реквизиты для входа { имя пользователя = "Mechanical-Advantage-Bot" пароль = "\u0067\u0068\u0070\u005f\u006e\u0056\u0051\u006a\u0055\u004f\u004c\u0061\u0079\u0066\u006e\u0078\u006e\u0037\u0051\u004 9\u0054\u0042\u0032\ u004c\u004a=" } } } конфигурации.все { исключить группу: "edu.wpi.first.wpilibj" } зависимости { группа реализации: «org.apache.commons», имя: «commons-math3», версия: «3.6.1» реализация wpi.java.deps.wpilib() реализация wpi.java.vendor.java() testImplementation('org.junit.jupiter:junit-jupiter-api:+') testImplementation('org.junit.jupiter:junit-jupiter-params:+') testRuntimeOnly('org.junit.jupiter:junit-jupiter-engine:+') } публикация { репозитории { знаток { name = "GitHubPackages" URL = uri("https://maven.pkg.github.com/Jelatinone/Nest") реквизиты для входа { имя пользователя = '$GITHUB_USERNAME' пароль = '$GITHUB_TOKEN' } } } публикации { гпр (MavenPublication) { из (компоненты.java) } } } банка { исключить ("main/java/nest/egg/**") манифест { атрибуты( 'Built-By': System.getProperty("user.name"), 'Build-Timestamp': new SimpleDateFormat("гггг-ММ-дд'Т'ЧЧ:мм:сс.SSSZ").format(новая дата()), 'Build-Jdk': "${System.properties['java.version']} (${System.properties['java.vendor']} ${System.properties['java.vm.version']}) ", 'Created-By': "Gradle ${gradle.gradleVersion}", «Название реализации»: project.name, «Версия реализации»: project.version) } } Джава { сJavadocJar() сSourcesJar() sourceCompatibility = JavaVersion.VERSION_16 targetCompatibility = JavaVersion.VERSION_16 } тест { использоватьJUnitPlatform() } Обратите внимание, что общедоступный пароль предназначен для обхода аутентификации GitHub при использовании пакета в другом проекте.
И мои настройки.gradle:
плагины { идентификатор 'org.gradle.toolchains.foojay-resolver-convention' версии '0.4.0' } rootProject.name = 'Гнездо' включить('lib') Еще один вопрос, вытекающий из include('lib'), который является именем папки, содержащей bin/, build/, src/,vendordeps/ и мой build.gradle. Однако, похоже, это создает два отдельных проекта Gradle, что заставляет меня задаться вопросом, смогу ли я вместо этого объединить их в один.
Возвращаясь к моему основному вопросу, запуск команды gradlePublish приводит к следующему:
Не удалось выполнить задачу ':lib:publishGprPublicationToGitHubPackagesRepository'. > Не удалось опубликовать публикацию «gpr» в репозитории «GitHubPackages». > Не удалось PUT «https://maven.pkg.github.com/Jelatinone ... -1.0.0.jar». Получен код состояния 401 от сервера: Не авторизовано. Я знаю, что мой токен имеет правильные авторизации (я дал ему все авторизации просто для проверки), так что же является причиной этого и как это исправить?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение