我们正在使用 Eclipse(12.18 版本)开发一个 Maven 应用程序,其中一些库位于公司的安全存储库中。
我在 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]
我试图避免使用 apache Wagon 进行 SSL 证书验证,但我没有成功。这就是我尝试的方式:
1-首先我已经像这样配置了 MyProject 的 pom.xml:
<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...”选项的 VM 参数中加载 wagon 属性:
-Dmaven.wagon.http.ssl.insecure=true
-Dmaven.wagon.http.ssl.allowall=true
-Dmaven.wagon.http.ssl.ignore.validity.dates=true
这些选项中没有一个是成功的。
所以作为最后一个选项,我已经在我的 Java 安装的 CACERTS 中安装了存储库的 SSL 证书,显然这已经奏效了。
但是,我们希望能够在不需要安装 SSL 证书的情况下配置存储库。
我究竟做错了什么?apache Wagon 需要更多配置吗?我错过了什么吗?
感谢您的阅读。