153 lines
6.1 KiB
Markdown
153 lines
6.1 KiB
Markdown
Для добавления репозиториев Nexus 3 в `settings.xml` с использованием паролей, зашифрованных в Base64, мы разделим инструкцию на два этапа: для Windows и Linux. Важно отметить, что Maven не поддерживает автоматическое декодирование Base64, поэтому вам нужно будет самостоятельно убедиться, что пароль корректно декодируется на стороне сервера.
|
||
|
||
---
|
||
|
||
## **Общая структура `settings.xml`**
|
||
Файл `settings.xml` должен содержать:
|
||
1. Секцию `<servers>` для аутентификации в репозиториях.
|
||
2. Секцию `<mirrors>` или `<repositories>` (в зависимости от ваших требований).
|
||
|
||
Пример структуры файла:
|
||
|
||
```xml
|
||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||
<servers>
|
||
<!-- Серверы для репозиториев -->
|
||
</servers>
|
||
<mirrors>
|
||
<!-- Зеркала для репозиториев -->
|
||
</mirrors>
|
||
</settings>
|
||
```
|
||
|
||
---
|
||
|
||
## **Шаг 1: Кодирование пароля в Base64**
|
||
### **Windows**
|
||
1. Откройте командную строку (`cmd`) или PowerShell.
|
||
2. Выполните команду для кодирования пароля:
|
||
```cmd
|
||
echo myPassword | base64
|
||
```
|
||
Если используется PowerShell:
|
||
```powershell
|
||
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("myPassword"))
|
||
```
|
||
|
||
### **Linux**
|
||
1. Откройте терминал.
|
||
2. Выполните команду:
|
||
```bash
|
||
echo -n 'myPassword' | base64
|
||
```
|
||
Флаг `-n` исключает добавление символа новой строки.
|
||
|
||
Результат — это ваш пароль, закодированный в Base64. Например:
|
||
```
|
||
bXlQYXNzd29yZA==
|
||
```
|
||
|
||
---
|
||
|
||
## **Шаг 2: Настройка `settings.xml`**
|
||
Добавьте все репозитории в `settings.xml`. Для каждого репозитория создайте соответствующий `<server>` с Base64-закодированным паролем.
|
||
|
||
### **Пример конфигурации**
|
||
```xml
|
||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||
<servers>
|
||
<server>
|
||
<id>nexus-base-release</id>
|
||
<username>your-username</username>
|
||
<password>bXlQYXNzd29yZA==</password>
|
||
</server>
|
||
<server>
|
||
<id>nexus-base-snapshot</id>
|
||
<username>your-username</username>
|
||
<password>bXlQYXNzd29yZA==</password>
|
||
</server>
|
||
<server>
|
||
<id>nexus-project01-release</id>
|
||
<username>your-username</username>
|
||
<password>bXlQYXNzd29yZA==</password>
|
||
</server>
|
||
<server>
|
||
<id>nexus-project01-snapshot</id>
|
||
<username>your-username</username>
|
||
<password>bXlQYXNzd29yZA==</password>
|
||
</server>
|
||
</servers>
|
||
|
||
<mirrors>
|
||
<mirror>
|
||
<id>nexus-base-release</id>
|
||
<url>https://nexus-host.org.ru/maven-base-release</url>
|
||
<mirrorOf>*</mirrorOf>
|
||
</mirror>
|
||
<mirror>
|
||
<id>nexus-base-snapshot</id>
|
||
<url>https://nexus-host.org.ru/maven-base-snapshot</url>
|
||
<mirrorOf>*</mirrorOf>
|
||
</mirror>
|
||
<mirror>
|
||
<id>nexus-project01-release</id>
|
||
<url>https://nexus-host.org.ru/maven-project01-release</url>
|
||
<mirrorOf>*</mirrorOf>
|
||
</mirror>
|
||
<mirror>
|
||
<id>nexus-project01-snapshot</id>
|
||
<url>https://nexus-host.org.ru/maven-project01-snapshot</url>
|
||
<mirrorOf>*</mirrorOf>
|
||
</mirror>
|
||
</mirrors>
|
||
</settings>
|
||
```
|
||
|
||
---
|
||
|
||
## **Шаг 3: Размещение `settings.xml`**
|
||
### **Windows**
|
||
1. Путь к пользовательскому файлу: `%USERPROFILE%\.m2\settings.xml`.
|
||
- Например: `C:\Users\<YourUsername>\.m2\settings.xml`.
|
||
2. Если каталог `.m2` отсутствует, создайте его:
|
||
```cmd
|
||
mkdir %USERPROFILE%\.m2
|
||
```
|
||
3. Сохраните файл `settings.xml` в этот каталог.
|
||
|
||
### **Linux**
|
||
1. Путь к пользовательскому файлу: `~/.m2/settings.xml`.
|
||
- Например: `/home/<your-username>/.m2/settings.xml`.
|
||
2. Если каталог `.m2` отсутствует, создайте его:
|
||
```bash
|
||
mkdir ~/.m2
|
||
```
|
||
3. Сохраните файл `settings.xml` в этот каталог.
|
||
|
||
---
|
||
|
||
## **Шаг 4: Проверка конфигурации**
|
||
1. Выполните команду для проверки:
|
||
```bash
|
||
mvn help:effective-settings
|
||
```
|
||
Убедитесь, что ваши серверы и зеркала правильно распознаются.
|
||
|
||
2. Протестируйте загрузку зависимостей:
|
||
```bash
|
||
mvn dependency:resolve
|
||
```
|
||
|
||
---
|
||
|
||
## **Важные замечания**
|
||
1. **Безопасность**: Base64 — это **не шифрование**, а лишь кодирование. Пароль можно легко декодировать. Рекомендуется использовать мастер-пароль Maven для шифрования.
|
||
2. **Совместимость**: Убедитесь, что сервер Nexus настроен на принятие Base64-закодированных паролей.
|
||
3. **Права доступа**: Ограничьте доступ к файлу `settings.xml`, чтобы предотвратить несанкционированное чтение паролей.
|
||
|
||
---
|