Maven и 501 HTTPS Required error

В этой статье описана грустная история про то, как были сломаны сборки Maven по всему миру (на самом деле не все, но об этом чуть позже). Java используется огромным количеством корпораций. Многие из них настолько огромны и настолько неповоротливы, но при этом настолько требовательны к надёжности, что до сих пор можно найти проекты, использующие Java 6, а то и Java 1.5. Соответственно, они и утилиты Maven используют тоже очень древних версий.

Однако прогресс не стоит на месте, в современном мире использовать протокол HTTP уже считается некрасивым. В январе (Месяц Утренней звезды) 2020 года главный репозиторий Maven включил принудительный HTTPS для всех, о чём он была написана статья в их блоге. Теперь все запросы по HTTP возвращают ошибки вида:

Если кто-то очень сильно хочет, то он может перенастроить URL на специально созданный http://insecure.repo1.maven.org. Но я бы не рекомендовал это делать.

Более корректным будет прописать URL в настройках Maven с протоколом HTTPS. Настройки URL можно прописать в pom.xml проекта, в «.m2/settings.xml» или же в файле конфигурации, находящемся с самой утилитой Maven. А ещё лучше обновить версию Maven. Последние версии Maven по умолчанию используют HTTPS.

Maven и 501 HTTPS Required error: 3 комментария

  1. Здравствуй, Фёдор. Прочёл тут про твои изыски насчёт языков программирования. Мой первый язык был Автокод «Инженер» для Минск-22. Я тогда изучал теорию корреляции из матстатистики — писал модели для расчётов для кандидатской моего научного руководителя. После этого я уже всё старался сосчитать, как тот «Козлёнок, который считал до десяти». В 1977-м я уже писал на Коболе для ЕС-1020, 1022, 1045, 1033, 1035. Начиная с 1022 я уже писал на Ассемблере, иногда сочетая его с Коболом, отдельно писал стандартные самонастраивающиеся программы по принципу макетного программирования, позже описанного Джеймсом Мартином. У меня на них писали даже учительница начальной школы и крановщица. До меня была написана программа (я даже не интересовался, на каком языке) — она считала состав на максимум 100 изделий двое-трое суток. Если ЭВМ перегревалась и вставала — надо было считать всё сначала. И меня попросили её переписать. Я дольше думал, чем писал, поговорил с конструктором, перекомпоновали базу, включили ненормализованные ключи, поколения файлов данных и т.д. На всё ушёл где-то месяц. И первый расчёт (я решил поинтересоваться, поместится ли в расчёт вся база несколько тысяч изделий) — расчёт прошёл за 32 минуты и по ходу дела выдал кучу ошибок в базе. Кончилось тем, что меня поставили руководителем группы программистов. Стали переходить в другую операционную систему — только я её сгенерировал — звонят, что она встала. Пришёл, стал искать причину — оказалось, что кто-то обнулил две дорожки в оглавлении библиотеки супервизора. Чем, я понял сразу, но никто не признаётся. Трое суток просидел безвылазно, считая в 16-ой системе адреса, точку входа и т.д. 3-е суток. Потом объявил, что отключаю систему и перезагружаю диск. Система заработала. Учитывая, что шумят вентиляторы устройств, кондиционеры — слышу, как в другом конце зала один шепчет другому: «Сделал-таки, сволочь!». Сижу после работы, когда все ушли и думаю («Куда делись дубли системы?!»). Потом заглянул в стол сестры одного из них, взял ключ от сейфа, пошёл в соседнюю комнату к постановщикам, открыл сейф для секретной документации — на самом верху обнаружил кучу своих лент. Скопировал, спрятал в архиве так, чтобы никто не нашёл, а на украденных лентах отклеил и заново приклеил маркеры (они после этого читаться не будут) — и положил их обратно в сейф. Через какое-то время подходит начальник:
    — Надо Боре добавить денег.
    — Только через мой труп.
    — Тогда пиши заявление.
    Ушёл на соседний завод начальником БНСИ и системщиком по совместительству. Но там программистов полно, а постановщиков нет — трогать ничего нельзя. Сделал так, чтобы на моё место поставили достойную — и через год ушёл переводом в СП уже на РС и UNIX-ы тестировщиком программ. Т.к. меня знали в этой среде, то увидели в документации мою фамилию — и через 15 лет я опять на моём заводе, в 2004-м. Папочка Бореньки создал заказ в начале 90-х под названием «Америка», по которому из дорогостоящего титана точили болты, гайки и шайбы в огромных количествах и по путинским лицензиям отправлял их по назначению. Завод был признан банкротом и ему назначили внешнее управление. А вся семейка уже уехала вслед за заказом. И я всё перевёл на эмулятор IBM-360/370. Через 5 лет меня выдавили, после через 2 месяца уволили главного инженера, через 2,5 года позвали опять ещё где-то на 2,5-3 года — в 68 я уже был не нужен. К тому времени у меня был уже сайт со своим движком — я его использовал для удалённой работы. Е-мейл — в этот я хоть иногда заглядываю. Надеюсь, что иногда я могу обратиться за дельным советом…
    В свою очередь могу консультировать, как можно выспаться за 15-20 минут… Управлять собой, не раздражаться, не злиться, терпеть женщин, любить детей и т.д. (есть необходимая литература — с некоторыми авторами был знаком лично). Всё есть на сайте.
    ЗЫ. Да, ещё одна деталь — я родился ровно через 9 месяцев после Ночи Великой Победы. Месяц назад мне исполнилось 74 годика. Времени ни на что не хватает…

  2. ЗЗЫ. Ещё один момент. Когда пришёл работать с эмулятором, то в первые же дни сказался опыт тестировщика. При переносе своей любимой программы я обнаружил, что на эмуляторе не работает вычитание (0 + 1000 — 1000 = 2000). Звоню разработчику, а он:
    — Это у тебя в программе ошибка. У меня эмулятор на Байконуре работает…
    Я пишу простенькую программу, точнее макет для настройки программы (несколько секунд), где засылаю литералы, прибавляю, а потом вычитаю тысячу, а потом выдаю сбойную операцию, где максимум на 20-ти сантиметрах печати распечатывается текст программы с адресами команд, содержание памяти по этим адресам и все команды, подчеркиваю нужные места и показываю разработчику. И объясняю, в чём ошибка. Его ответ:
    — Я не знал, что знаковые полубайты могут иметь несколько значений… Тебе бы тестировщиком работать.
    Дело в том, что у меня на мейнфрейме был подобный случай, что при определённой длине операндов при умножении числа на 0 получалось переполнение. При умножении числа на число всё проходило без проблем, если результат вписывался в поле результата. Пришли товарищи из Ленэлектронмаша, уперлись в программу. Я написал программу, вписывающуюся в данную ситуацию, получился сбой, всё распечаталось, но электронщицу не убедило. Тогда я ей предложил выполнить команду в памяти, умножив 1 на 0 — получился сбой по переполнению. Потом оказалось, что были какие-то магнитные карты, которые перепрошивали процессор, но потерялись. Вопрос был непринципиальным — потому для умножения я добавил байт в поле результата, а потом уже пересылал его на то место, где оно должно было быть. Честно говоря, я сам не ожидал, что такая огромная машина может так ошибаться… И я себя вообразил непорочным: «Мои программы не ошибаются!» Но одна женщина, которая всех раздражала и её считали дурой, а я грешил тем, что доверял общественному мнению, был весьма удивлён, когда она показала, как я неправильно выполнил логическую операцию отрицания. С тех пор она моя самая любимая операция, а эту женщину зауважал.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *