【问题标题】:primefaces on maven repos have dependency on primefaces.orgmaven repos 上的 primefaces 依赖于 primefaces.org
【发布时间】:2017-07-11 21:49:49
【问题描述】:

我正在尝试将 Primefaces 5.3 与基于 Bluemix 的 maven 构建一起使用,使用 1.0.8 primefaces 扩展中的 redmond 主题。但是,我似乎遇到了依赖问题。

1) 当我从 org.primefaces.extensions 组中遗漏所有主题工件时,我得到一个异常,即找不到 Themes.css。 2)当我在全主题工件中编辑并仅使用 maven 存储库时,出现依赖错误,因为似乎存在对仅在 primefaces.org 但不在 maven.org 上的工件的依赖,即至少 afterdark pom.xml 似乎是指 primefaces.org 3) 当我在 primefaces.org 存储库中进行编辑时,在 Bluemix 上出现构建错误,因为 Bluemix 似乎不信任来自 primefaces.org 的 SSL 证书:

[错误] ...无法将工件 org.primefaces.themes:afterdark:pom:1.0.8 从/到 prime-repo (https://repository.primefaces.org/): com.ibm.jsse2.util.h: PKIX 路径构建失败:java.security.cert.CertPathBuilderException:PKIXCertPathBuilderImpl 无法构建有效的 CertPath。;内因是: [ERROR] java.security.cert.CertPathValidatorException: CN=DST Root CA X3, O=Digital Signature Trust Co.颁发的证书不受信任;内因是: [错误] java.security.cert.CertPathValidatorException:证书链接错误

http 或 https 都用作存储库地址时会发生这种情况,因此 afterdark pom 可能无论如何都包含 https 地址....

所以 maven.org 指向某个依赖项的不受信任的存储库,而 Bluemix 不接受它。

那么应该如何解决(不,不建议不使用 primefaces): - 更新版本的 primefaces 是否解决了这个问题?不确定我是否能够花精力进行升级 - 这可以在 1.x 版本的 primefaces 扩展中修复吗? - 我想我将无法更改 Bluemix 以接受证书... - 有没有办法只使用 redmond 主题作为依赖而不是所有主题?

我有什么遗漏吗?

请注意,本地没有问题,因为 maven 似乎很乐意从不受信任的来源下载代码。

【问题讨论】:

  • 附加注释:参考 org.primefaces.themes,工件 redmond 与本地 maven 构建一起工作,但在本地 Eclipse 和 Bluemix 中会产生依赖问题,因为无法找到依赖关系。
  • 为什么maven这么不一致......?
  • 错误很明显,不是Maven的错。服务器证书的(颁发者)不受信任。只是在“答案”中提到过。如果它在一个环境中工作而不在另一个环境中工作,那么 99% 的时间都是本地问题。希望您通过按照答案状态或手动将其添加到本地存储库来使其正常工作
  • 我想知道它是否也不是 primefaces 的错,因为它指向了 maven Central 之外的某个存储库?
  • 为什么这是“错误的”?然后 maven 应该禁用使用其他存储库的选项。 PrimeFaces 使用现代证书并且您的密钥库有点过时的事实也可以被视为“错误”(或安全问题)。我个人不会说任何一个错误,只是一个操作问题)

标签: jsf primefaces jsf-2 ibm-cloud


【解决方案1】:

该证书似乎在 jvm 信任存储中不可用,您需要添加它来解决问题。

【讨论】:

  • 由于构建管道在 IBM Bluemix DevOps 上运行,我不知道如何将证书添加到 maven 使用的信任库中。
  • 我也无法使用 maven 的命令行参数删除证书检查,因为这些似乎不被尊重
  • 您需要使用 java "keytool" 命令将证书添加到 java(在其上运行 bluemix 服务器或运行 maven)密钥库中,并且与 maven 无关。您需要下载/导入并添加primeface的url的根证书..
  • @andrefachat: 或者检查 IBM 是否有新的根密钥库
  • 我尝试使用以下命令在 Bluemix devops 构建脚本中添加 primefaces 证书: > echo | openssl s_client -connect repository.primefaces.org:443 -showcerts 2>/dev/null |openssl x509 -outform PEM > ../mycertfile.pem > keytool -import -file ../mycertfile.pem -keystore cacerts -storepass changeit
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-11
  • 2013-07-04
  • 2017-09-13
  • 1970-01-01
  • 2017-09-25
  • 2016-12-19
  • 2012-08-31
相关资源
最近更新 更多