4

我正在尝试创建一个 Confluence 插件。我一直在遵循这些说明

但是,当我运行 atlas-create-confluence-plugin 命令时,maven 会抛出 SSL 错误,试图从https://m2proxy.atlassian.com/repository/public/获取资源。

替代文字 http://img46.imageshack.us/img46/6281/mavenssl.jpg

我需要更改配置中的设置吗?

系统设置:Windows Vista,带有 Apache Maven 2.1.0 (r755702; 2009-03-18 19:10:27+0000)

4

4 回答 4

5

通过 SSL 访问存储库并不是一个真正的 Maven 问题(它在后台使用 HttpClient 并在java.net包的末尾类),这是一个纯 Java 问题:必须信任远程存储库的证书,即 CA 根证书因为此证书必须在cacertsJRE 中捆绑的文件中,否则您需要手动建立信任链。

https://m2proxy.atlassian.com/的特殊情况下,证书已由 DigiCert CA 颁发。

奇怪的是,最近的 JDK(Java 5u15 或更高版本或 Java 6u5 或更高版本,请参阅错误 ID:6647251)具有 DigiCert 的 CA 根证书。因此,使用最近的 JDK,一切都应该正常工作(除非您有一个代理在这个问题中做一些黑魔法)。

如果您使用的是较旧的 JDK 并且无法升级,请从浏览器导出证书,用于keytool将其添加到信任库并设置 Java 以使用此信任库(使用javax.net.ssl.trustStorejavax.net.ssl.trustStorePassword系统属性)。有关如何执行此操作的更多详细信息,请参阅Maven 迷你指南和/或此博客文章。

但最简单的方法是使用最新的 JDK。

于 2010-02-13T19:06:45.457 回答
0

好的,这看起来像我的问题错了。

由于某种原因,maven 没有下载 maven-confluence-plugin-3.0.5.jar 文件。我必须从 URL 手动下载此文件并将其添加到正确的位置 .m2 目录中。

之后,整个过程运行良好。

于 2010-02-13T12:46:11.493 回答
0

在大多数情况下,帕斯卡的答案是要走的路。但是,如果您正在构建 Maven 本身,它就不起作用(至少从 Maven 3.2.3 开始),因为当它调用类以让 Maven 构建 Maven 的其余部分时ant未能传递必要的属性。javax.netMavenCli

解决这个问题的方法是修改build.xmlmaven源目录根目录下的文件,在maven-compiletarget中加入这几行:

<arg value="-Djavax.net.ssl.trustStore=/path/to/trustStore" />
<arg value="-Djavax.net.ssl.trustStorePassword=TrustStorePassword" />
于 2014-12-19T20:51:21.707 回答
0

在 Windows 中执行以下操作有助于命令行执行

SET MAVEN_OPTS=-Djavax.net.ssl.trustStore="C:\Program Files\Java\jdk1.8.0_201
jre\lib\security\cacerts"

我得到的错误如下意外错误:java.security.InvalidAlgorithmParameterException:trustAnchors参数必须为非空

(也可以调整 mvn.cmd ......)希望这有助于

于 2020-10-21T05:46:46.303 回答