TL; DR
如何使Eclipse的内置Maven连接到使用基于证书的身份验证的HTTPS存储库?
似乎m2e能够找到密钥库,但无法连接.命令行Maven就像使用完全相同的密钥库的魅力一样.Run as -> Maven build适用于外部Maven,而不适用于嵌入式Maven.
问题
我有一个依赖的Maven项目.除了常规用户名 - 密码组合之外,该依赖关系在使用基于SSL证书的身份验证的存储库中可用.我需要在Eclipse Luna中使用内置的Maven.我能得到的只是handshake_failure.对日志的调查表明,内置Maven无法找到匹配的证书.
当我使用Run as -> Maven build外部Maven或命令行Maven时,它成功连接到存储库并完全根据需要获取工件.
有趣的是,外置和嵌入式Mavens都有相同的版本(3.2.3).
建立
我将这些参数传递给eclipse.ini:
-Djavax.net.ssl.trustStore=java.cacerts
-Djavax.net.ssl.trustStorePassword=******
-Djavax.net.ssl.keyStore=private.cacerts
-Djavax.net.ssl.keyStorePassword=******
-Djavax.net.debug=ssl,handshake
Run Code Online (Sandbox Code Playgroud)
该trustStore文件包含:
repository.location.url(文本存储库位置,例如myrepository.com)该keyStore文件包含存储库别名下的导入PKCS证书.
设置似乎没有问题,因为命令行Maven工作.如果我使用外部Maven或命令行,它可以工作.如果我开始嵌入一个(它总是用于解析依赖关系),则handshake error显示出来.
我究竟做错了什么?我可能会遗漏一些完全明显的东西.任何帮助,将不胜感激.