Sonatype Nexus дает 401 по неизвестной причине - PullRequest
1 голос
/ 16 февраля 2020

Мы должны работать с Nexus OSS версии 3.20.1-01. У нас есть проблема с ним, когда мы пытаемся развернуть или доставить артефакт Maven2 (jar) на Nexus. Мы использовали аккаунт test123 с паролем test123. test123 имеет привилегии nx-admin в нексусе. Если мы попытаемся войти в консоль администратора, мы сможем сделать это без проблем.

Но если мы попытаемся обратиться к прокси-серверу, настроенному на Nexus, с именем sligro-proxy, то по какой-то причине он отправляет 401.

Мы используем Maven 3.5.4

Но по какой-то глупой причине мы не можем использовать прокси sligro-proxy для maven central. Если мы используем Maven без Nexus, удалив файл с настройками. xml, тогда эта сборка пройдет нормально. ./mvn package.

Если я что-то изменю в файле настроек. xml, то я вижу, что сборка реагирует на это изменение.

Мы видим 401 в файле request.log Нексус так:

192.168.178.123 - - [16/Feb/2020:19:46:50 +0100] "HEAD /nexus/repository/sligro-proxy/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom HTTP/1.1" 401 - 0 2 "Apache-Maven/3.5.4 (Java 1.8.0_112; Linux 3.10.0-957.27.2.el7.x86_64)" [qtp1998317514-191]    

А на клиенте мы видим это: [ИНФО] Закончено в: 2020-02-16Т19: 46: 50 + 01: 00 [ИНФО] ------- -------------------------------------------------- --------------- [ERROR] Плагин org. apache .maven.plugins: maven-resources-plugin: 2.6 или одна из его зависимостей не может быть разрешена: не удалось прочитать артефакт дескриптор для org. apache .maven.plugins: maven-resources-plugin: jar: 2.6: Не удалось передать артефакт org. apache .maven.plugins: maven-resources-plugin: pom: 2.6 from / to nexus ( http://192.168.178.178: 8081 / nexus / repository / sligro-proxy ): не авторизовано, ReasonPhrase: не авторизовано. -> [Справка 1] [ОШИБКА] [ОШИБКА] Чтобы увидеть полную трассировку стека ошибок, перезапустите Maven с ключом -e. [ОШИБКА] Перезапустите Maven, используя ключ -X, чтобы включить полное ведение журнала отладки. [ОШИБКА] [ОШИБКА] Для получения дополнительной информации об ошибках и возможных решениях, пожалуйста, прочитайте следующие статьи: [ОШИБКА] [Справка 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

Это мои настройки. xml файл:

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>nexus-proxy</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
    </dependencies>
    <distributionManagement>
        <repository>
            <id>sligro</id>
            <name>maven-releases</name>
            <url>http://192.168.178.178:8081/nexus/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>sligro</id>
            <name>maven-snapshots</name>
            <url>http://192.168.178.178:8081/nexus/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>```

This is my settings.xml file:

    </project>This is my settings file:<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <proxies/>
    <servers>
        <server>
            <id>nexus-snapshots</id>
            <username>test123</username>
            <password>test123</password>
        </server>
        <server>
            <id>nexus-releases</id>
            <username>test123</username>
            <password>test123</password>
        </server>
        <server>
            <id>sligro</id>
            <username>test123</username>
            <password>test123</password>
        </server>
        <server>
            <id>sligro-proxy</id>
            <username>test123</username>
            <password>test123</password>
        </server>
        <server>
            <id>/192.168.178.178:8081</id>
            <username>test123</username>
            <password>test123</password>
        </server>
    </servers>
    <mirrors>
        <mirror>
            <id>nexus</id>
            <mirrorOf>*</mirrorOf>
            <url>http://192.168.178.178:8081/nexus/repository/sligro-proxy</url>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
            <id>sligro</id>
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
            <properties>
                <nexus.url>http://192.168.178.178:8081/nexus/repository</nexus.url>
            </properties>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>sligro</activeProfile>
    </activeProfiles>
</settings>    



Well I almost spend to 2 days this weekend to find out what the problem is and 
changed tons of params but it gives always the 401. Help would be appriciated. 
Thanks

1 Ответ

1 голос
/ 17 февраля 2020

Я нашел решение. Мое зеркало имеет неверный идентификатор. Если я использую идентификатор «sligro» вместо идентификатора «nexus» в разделе «зеркала», сборка Maven для Nexus работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...