Загрузка данных


Настрой Maven строго по корпоративной инструкции «Использование Nexus и SberOSC в Maven».

Рабочий проект:

/Users/23865613/IdeaProjects/snl-integration-audit

ВАЖНЫЕ ОГРАНИЧЕНИЯ:

1. Не изменять pom.xml.
2. Не изменять Java-код, тесты, application.yaml и другие файлы проекта.
3. Не создавать самостоятельно Maven-профили, repositories, mirrors или server id.
4. Не исправлять и не дополнять официальный settings.xml по собственному предположению.
5. Не выполнять git add, commit, push, checkout, merge или rebase.
6. Не выводить в чат токены, пароли, BASE64_STRING и Authorization-заголовки.
7. Не добавлять settings.xml в Git.
8. Использовать исключительно содержимое официального settings.xml, скачанного по корпоративной инструкции.
9. Если официальная инструкция или файл содержат противоречие — остановиться и сообщить о нём, а не придумывать исправление.

ЗАДАЧА

Нужно заново настроить локальный Maven, используя официальный settings.xml из папки Downloads.

ШАГ 1. НАЙТИ ОФИЦИАЛЬНЫЙ ФАЙЛ

Найди в папке Downloads все возможные файлы настроек:

find /Users/23865613/Downloads -maxdepth 2 -type f \( -iname "settings.xml" -o -iname "settings*.xml" \) -print

Для каждого файла покажи только:

- полный путь;
- дату изменения;
- размер;
- Maven server id;
- Maven mirror id;
- mirrorOf;
- profile id;
- activeProfile;
- repository id;
- pluginRepository id.

Значения username, password, токенов и URL с учётными данными не показывай.

Для чтения XML используй безопасный XML-парсер. Не применяй grep к строкам password или username.

ШАГ 2. ВЫБРАТЬ ФАЙЛ

Выбери самый свежий файл, скачанный с корпоративной страницы «Использование Nexus и SberOSC в Maven».

Файл должен начинаться с Maven settings:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

Не использовать старый файл ~/.m2/settings.xml как источник.

Не создавать новое содержимое settings.xml самостоятельно.

ШАГ 3. ПРОВЕРИТЬ ЗАПОЛНЕНИЕ

До копирования проверь, остались ли в официальном файле текстовые заглушки, например:

- «ваш токен из sber osc»;
- «user_name из токена nexus»;
- «password из токена nexus»;
- «ваш числовой логин»;
- «любой набор букв»;
- XML-значения, явно являющиеся инструкциями, а не реальными настройками.

Не выводи реальные значения секретов.

Если заглушки остались:

1. ничего не копируй;
2. ничего не изменяй;
3. перечисли только названия незаполненных полей и соответствующие server id;
4. остановись.

Не пытайся получать или восстанавливать секреты самостоятельно.

ШАГ 4. СОЗДАТЬ РЕЗЕРВНУЮ КОПИЮ

Если официальный файл полностью заполнен, выполни:

mkdir -p /Users/23865613/.m2

Если существует старый файл:

/Users/23865613/.m2/settings.xml

создай резервную копию с текущей датой и временем, не показывая его содержимое:

cp /Users/23865613/.m2/settings.xml \
   /Users/23865613/.m2/settings.xml.backup-$(date +%Y%m%d-%H%M%S)

ШАГ 5. УСТАНОВИТЬ ОФИЦИАЛЬНЫЙ ФАЙЛ

Скопируй официальный файл без изменения его структуры:

cp "<путь к найденному официальному файлу>" \
   /Users/23865613/.m2/settings.xml

Затем установи права:

chmod 600 /Users/23865613/.m2/settings.xml

Не изменяй:

- server id;
- mirror id;
- mirrorOf;
- profile id;
- activeProfile;
- repository URL;
- pluginRepository URL;
- структуру XML.

ШАГ 6. ПРОВЕРИТЬ XML

Выполни:

xmllint --noout /Users/23865613/.m2/settings.xml

Если xmllint отсутствует, проверь корректность XML через Python XML parser, не выводя содержимое файла.

ШАГ 7. ПРОВЕРИТЬ ЛОГИЧЕСКУЮ СТРУКТУРУ

После установки покажи только безопасную сводку:

- список server id;
- список mirror id;
- mirrorOf;
- список profile id;
- список activeProfile;
- repository id внутри каждого профиля;
- pluginRepository id внутри каждого профиля;
- существует ли каждый профиль, указанный в activeProfile;
- совпадают ли repository id и server id там, где сервер требует авторизацию.

Не показывай:

- username;
- password;
- токены;
- BASE64_STRING;
- Authorization;
- полный settings.xml.

Если activeProfile ссылается на отсутствующий profile id:

1. не исправляй это самостоятельно;
2. не создавай профиль;
3. не меняй activeProfile;
4. остановись;
5. сообщи точные несовпадающие идентификаторы.

Если ни один профиль не содержит repositories, тоже остановись и сообщи об этом.

ШАГ 8. ПРОВЕРИТЬ MAVEN

Только если XML и его структура корректны, выполни:

export PATH="/Applications/apache-maven-3.9.6/bin:$PATH"

mvn --version

После этого из каталога проекта:

cd /Users/23865613/IdeaProjects/snl-integration-audit

выполни:

mvn -s /Users/23865613/.m2/settings.xml \
    -U \
    -DskipTests \
    dependency:resolve

Не запускай compile и test на этом этапе.

ШАГ 9. АНАЛИЗ РЕЗУЛЬТАТА

Если dependency:resolve завершился ошибкой:

- покажи первую содержательную Maven-ошибку;
- укажи groupId, artifactId и version недоступной зависимости;
- укажи название репозитория, из которого Maven пытался её получить;
- укажи HTTP-статус: 401, 403, 404 или другой;
- не показывай секретные параметры URL;
- не редактируй settings.xml автоматически;
- не редактируй pom.xml;
- остановись.

Если dependency:resolve успешен, сообщи, что корпоративные зависимости Maven доступны.

ИТОГОВЫЙ ОТЧЁТ

Дай краткий отчёт:

1. Найденный официальный settings.xml.
2. Была ли создана резервная копия.
3. Куда установлен файл.
4. Результат XML-проверки.
5. Результат проверки profile/activeProfile.
6. Результат dependency:resolve.
7. Первая ошибка, если проверка не прошла.
8. Подтверждение, что pom.xml и исходный код не изменялись.
9. Подтверждение, что секреты не выводились.
10. Точный вывод git status --short для проекта.

Никаких дополнительных исправлений сверх корпоративной инструкции не выполнять.