ProxyAuthenticationError 407 устанавливает ресурс из внутреннего репозитория nexus, хотя прокси-сервер для него не используется в настройках. xml - PullRequest
0 голосов
/ 06 августа 2020

Я получаю неожиданную ошибку ProxyAuthenticationError 407, устанавливающую ресурс из внутреннего репозитория nexus в мой локальный кеш .m2, даже если прокси-сервер не используется для него в моем settings.xml; т.е. я ожидаю, что он будет напрямую подключаться к внутреннему узлу без участия прокси.

Краткое описание настройки на локальной машине разработчика

Поскольку мы находимся за прокси-сервером; Я установил прокси в настройках. xml в противном случае maven не сможет установить из publi c 'central' репозитория.

Поскольку у нас также есть репозиторий inhouse-nexus для внутренних / частных ресурсов, настройки . xml имеет внутреннюю связь, введенную в элемент proxy.nonProxyHosts для обхода прокси для этого внутреннего хоста. локальный кеш либо из центрального (через прокси), либо из внутреннего (прямого) узла по мере необходимости; однако 10-й и последний проект в цепочке сборки терпит неудачу, когда он пытается разрешить wsdlArtifact для выполнения

Вывод журнала Maven (добавление -X и -e не предоставило никакой дополнительной информации)

 [exec] [INFO] ------------------------------------------------------------------------
 [exec] [INFO] BUILD FAILURE
 [exec] [INFO] ------------------------------------------------------------------------
 [exec] [INFO] Total time:  9.117 s
 [exec] [INFO] Finished at: 2020-08-06T14:51:31+01:00
 [exec] [INFO] ------------------------------------------------------------------------
 [exec] [ERROR] Failed to execute goal org.apache.cxf:cxf-codegen-plugin:2.4.3:wsdl2java (jra-generate-sources) on project abc-webservices-client: Error downloading wsdl artifact.: Could not transfer artifact groupid1:artefact-wsdl:wsdl:5.1.0-SNAPSHOT from/to artifact-repository (http://inhouse-nexus:8081/nexus/content/groups/public): HTTP proxy server authentication failed for http://inhouse-nexus:8081/nexus/content/groups/public/groupid1/artefact-wsdl/5.1.0-SNAPSHOT/artefact-wsdl-5.1.0-SNAPSHOT.wsdl 407 Proxy Authentication Required
 [exec] [ERROR]   groupid1:artefact-wsdl:wsdl:5.1.0-SNAPSHOT
 [exec] [ERROR] 
 [exec] [ERROR] from the specified remote repositories:
 [exec] [ERROR]   inhouse-repository (http://inhouse-nexus:8081/nexus/content/groups/public, releases=true, snapshots=true),
 [exec] [ERROR]   central (https://repo.maven.apache.org/maven2, releases=true, snapshots=false)

Есть несколько вещей, которые не имеют смысла в этом

  1. Прокси-сервер обходит, поэтому он не должен пытаться go через прокси для inhouse-nexus
  2. Но при условии, что это происходит через прокси; почему он получает 407, когда указаны действительные имя пользователя и пароль?
  3. Как было сказано ранее - другие проекты 1-9 успешно устанавливают зависимости как из центрального, так и из внутреннего узла - так почему это происходит для этого ресурса wsdl ?

Я попытался изолировать проблему, с которой столкнулся maven, попытавшись воспроизвести, загрузив этот артефакт напрямую с помощью maven, как показано ниже, однако это, похоже, подбирает настройки. xml настройки прокси и загрузки wsdl без проблем:

mvn dependency:get -DgroupId=groupid1 -DartifactId=artefact-wsdl -Dversion=5.1.0-SNAPSHOT -Dpackaging=wsdl -DremoteRepositories=http://inhouse-nexus/nexus/content/groups/public -Ddest=\temp -Dtransitive=false

Идеи закончились; и я новичок как в Java, так и в Maven.

Любая помощь в понимании root причины этой проблемы будет очень принята; и если от меня потребуется дополнительная информация, дайте мне знать, и я обновлю вопрос.

настройки maven. xml для прокси

     <proxy>
        <id>httpproxy</id>
        <active>true</active>
        <protocol>http</protocol>
        <host>proxyhost</host>
        <port>8080</port>
        <username>******</username>
        <password>******</password>
        <nonProxyHosts>inhouse-nexus</nonProxyHosts>
        
    </proxy>

Фрагмент казни

<executions>
    <execution>
        <id>jra-generate-sources</id>
        <phase>generate-sources</phase>
        <configuration>
            <sourceRoot>${basedir}/target/generated-sources/wsimport</sourceRoot>
            <wsdlOptions>
                <wsdlOption>
                    <wsdlArtifact>
                        <groupId>groupid1</groupId>
                        <artifactId>artefact-wsdl</artifactId>
                        <version>5.1.0-SNAPSHOT</version>
                    </wsdlArtifact>
                    <extraargs>
                        <extraarg>-autoNameResolution</extraarg>
                        <extraarg>-verbose</extraarg>
                        <extraarg>-p</extraarg>
                        <extraarg>groupid1.abc.wsclient</extraarg>
                    </extraargs>
                </wsdlOption>
            </wsdlOptions>
        </configuration>
        <goals>
            <goal>wsdl2java</goal>
        </goals>
    </execution>
</executions>

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