И он как я специально написал в первом сообщение однозначно цепляется, потому что смена токена на неверный приводит к ошибке уже 401
Читать полностью…Тока в Java принято называть пакеты com.example - а эти упыри хотят чтобы я именовал example-com?! Я все верно понял и другого решения нет?!)
Читать полностью…Тут задается текстовое имя проекта и можно посмотреть его id (числовой, походу автоинкремент). Но тут нет то, что он ожидает, по идее в моем случае - slug которой создается вместе с проектом / группой
Читать полностью…А где можно посмотреть? Я пробовал с этими ключами:
* 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.
Там информации дофига, но конкретно лог запроса / ответа к сервису я не нашел...
Сейчас я дропну запретную при отладке фразу
В логах по эжтому поводу ничего нет? i.e. я предполагаю что гитлаб так или иначе объясняет где-то свои решении об ограничении доступа.
Отличие 401 от 403 обычно в том, что в первом случае не происходит аутентфикация (распознование пользователя по токену, паролю, чему-либо ещё), а во втором - не хватает прав на совершение действия. Другими словами, я осторожно предположу, что дело в том, что позволено и не позволено аккаунту/токену, из-под которых выполняется это действие.
Если же это всё-таки проблема наименования, то её легко проверить, запульнув пакет под каким-то примитивным названием из пары букв.
Как побороть ошибку? Пытаюсь либу в Gitlab Package Registry засунуть через
gradle publish
Execution failed for task ':publishLibraryPublicationToMavenRepository'.
> Failed to publish publication 'library' to repository 'maven'
> Could not PUT 'https://gitlab.com/api/v4/projects/_id_/packages/maven/группа1/группа2/группа3/проект/1.0.0/i18n-1.0.0.pom'. Received status code 403 from server: Forbidden
функциональной разницы откуда злодейство получает список адресов, из сервера или подслушанного пакета, нет
Читать полностью…Спасибо, понял теперь разницу между виртуальными потоками и CompletableFuture, а то думал что дело только в императивном стиле
Читать полностью…Для этого надо менять внутренности пакета? Я пробовал просто подменить названия в gradle.build:
publishing {
publications {
library(MavenPublication) {
groupId 'группа1.группа2.группа3'
artifactId 'проект'
version '1.0.0'
from components.java
}
}
Да, все так, коды ответов именно это и означают. Мой аккаунт - владелец всех групп и репа, я пока пытаюсь сделать это под "Private-Token". У токена выставлены скоупы: read_repository, write_repository, read_registry, write_registry. В самом репозитории галочка стоит:
Читать полностью…Либо буду благодарен за любой совет, может куда-то еще можно закатывать приватные библиотеки, если с этим все сложно. Я недавно в Java погружаться начал, так что сорри если что-то простое спрашиваю, но как я понимаю, то что на скрине - дичь какая-то, ведь пакеты именуются начиная с ru.organization и это в принципе к структуре url в gitlab тяжко привязать, хотя уже и так пробовал и все равно нифига не работает пуш.
Читать полностью…Скорее всего в реальном сеттинге вопроса это ничего не поменяет, но сами CF это просто объекты-переносчики и не выполняются нигде, блокируются треды. CF может вообще применяться без какого-либо экзекьютора/пула под боком, классический пример - это симуляция асинхронных операций в тестах
Читать полностью…исчерпают пул, дальше надо смотреть на очередь задач, если и она будет исчерпана - будет реджектить новые таски, все остальные будут ждать
Читать полностью…ну и да, напомню что использование для таких целей мультикаста и тем более открытого dht - это такая огромная черная дыра в безопасности. так что сервер ваш друк
Читать полностью…