Maven с HTTPS-репозиторием и Apache Wagon, не работающими по доверенности - PullRequest
0 голосов
/ 13 февраля 2019

Мы разрабатываем приложение Maven с использованием Eclipse (версия 12.18), и некоторые библиотеки находятся в безопасном хранилище компании.

Я настроил хранилище в файле настроек Maven следующим образом:

<repositories>
   <repository>
       <id>MyRepository</id>
       <name>MyRepository</name>
       <url>https://companyUrl/repository/maven-3rdparty/</url>
       <releases>
          <enabled>true</enabled>
       </releases>
       <layout>default</layout>
   </repository>
</repositories>

Кроме того, поскольку наше интернет-соединение находится за прокси-сервером, я настроил параметры прокси-сервера.

В приложении, если я пытаюсь разрешить зависимости с помощью параметра "maven update", Я не получаю никакой ошибки, просто он не загружает файл jar.

Если я использую опцию "maven install", я получаю эту ошибку:

Failed to execute goal on project MyProject: Could not resolve dependencies for project my.project:MyProject:jar:0.0.1: Failed to collect dependencies at externalLibrary:jar:1.0: Failed to read artifact descriptor for externalLibrary:jar:1.0: Could not transfer artifact externalLibrary:pom:1.0 from/to MyRepository (https://companyUrl/repository/maven-3rdparty/): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]

Я пытался избежать проверки SSL-сертификата с помощью Apache Wagon, но мне это не удалось.Вот как я пытался:

1 - Сначала я настроил pom.xml MyProject следующим образом:

<build>
    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-http-lightweight</artifactId>
            <version>3.3.2</version>
        </extension>
    </extensions>

    <plugins>    
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
            <version>1.0.0</version>
            <executions>
              <execution>
              <phase>initialize</phase>
                <configuration>
                  <properties>
                    <property>
                      <name>maven.wagon.http.ssl.insecure</name>
                      <value>true</value>
                    </property>
                    <property>
                      <name>maven.wagon.http.ssl.allowall</name>
                      <value>true</value>
                    </property>
                    <property>
                      <name>maven.wagon.http.ssl.ignore.validity.dates</name>
                      <value>true</value>
                    </property>
                  </properties>
                </configuration>
              </execution>
            </executions>
          </plugin> 
    </plugins>
</build>

2 - Поскольку первый вариант не работает, я попыталсязагрузите свойства вагона в аргументах виртуальной машины в параметре «Maven Build ...»:

-Dmaven.wagon.http.ssl.insecure=true 
-Dmaven.wagon.http.ssl.allowall=true 
-Dmaven.wagon.http.ssl.ignore.validity.dates=true

Ни один из этих параметров не был успешным.

Итак, в качестве последнего варианта яустановили SSL-сертификат хранилища в CACERTS моей установки Java, и, очевидно, это сработало.

НО, мы хотели бы иметь возможность настроить хранилище без необходимости установки SSL-сертификата.

Что я делаю не так?Нужна ли дополнительная конфигурация с Apache Wagon?Я что-то упустил?

Спасибо за чтение.

...