1

好吧,我正在尝试在我目前正在处理的项目上配置 Maven 的 Checkstyle 插件,我得到以下信息:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:check (verify-style) on project email: Failed during checkstyle execution: Failed during checkstyle configuration: unable to parse configuration stream: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]

所以,运行mvn install -X我有以下堆栈跟踪:

Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
        at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
        at sun.security.validator.Validator.validate(Validator.java:260)
        at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
        at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
        at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)
        ... 52 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
        at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
        at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
        at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
        ... 58 more

它似乎与我在 Github 上的以下链接中找到的 google-checks.xml 中指定的 DTD 有关:https ://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks .xml

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
          "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
          "https://checkstyle.org/dtds/configuration_1_3.dtd">

我试图将该证书添加到我的 JVM 信任库,但它不起作用。有人能弄清楚出了什么问题吗?

先感谢您。

4

1 回答 1

4

https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml

请为您正在使用的 Checkstyle 版本使用配置 DTD。master是当前发展正在发生的地方。当我们在 master 中更改和添加新内容时,Checkstyle 的发布版本可能不支持它并最终出现异常。

以下是 8.10.1 版的 Google XML 示例:https ://github.com/checkstyle/checkstyle/blob/checkstyle-8.10.1/src/main/resources/google_checks.xml

于 2018-06-14T21:13:24.930 回答